Submission

Status:

[PPP-SSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: kakcode

Problemset: ฮีโร่และมอนสเตอร์

Language: cpp

Time: 0.003 second

Submitted On: 2025-12-24 21:30:16

/*
TASK: c2_st66_heroes
LANG: C++
AUTHOR: ICE
*/
#include <bits/stdc++.h>
using ll = long long;
#define forr(i, a, n) for (int i = a; i < n; i++)
const ll inf = 10e9;
#define int ll
using namespace std;
using pii = pair<int,int>;
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,m;
    cin >> n >> m;
    vector<int> heroes(n);
    vector<pii> monster(m);
    vector<int> ans(m);
    for(int i=0;i<n;i++){
        cin >> heroes[i];
    }
    for(int i=0;i<m;i++){
        int a,b;
        cin >> a >> b;
        monster[i].first = a;
        monster[i].second = b;
    }
    sort(monster.begin(),monster.end());
    ans[0]=monster[0].second;
    for(int i=1;i<m;i++){ans[i] = ans[i-1]+monster[i].second;}
    for(int i=0;i<n;i++){
        auto it = upper_bound(monster.begin(),monster.end(),make_pair(heroes[i],LLONG_MAX))-monster.begin();
        if(it < 0)cout << 0 << '\n';
        else cout << ans[it-1] << '\n';
    }
    return 0;
}