Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: kimza

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

Language: cpp

Time: 0.878 second

Submitted On: 2026-03-10 10:03:46

#include <bits/stdc++.h>
#define int long long
using namespace std;

int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    int n, m;
    cin >> n >> m;
    vector<int> v(n);
    for(int i=0; i<n; i++) cin >> v[i];

    map<int, int> counts;
    for(int i=0; i<m; i++){
        int c, b;
        cin >> c >> b;
        counts[c] += b;
    }
    int current_sum = 0;
    for(auto& [val, count] : counts) {
        current_sum += count;
        counts[val] = current_sum;
    }

    for(auto& x : v){
        auto it = counts.upper_bound(x);
        if(it == counts.begin()) cout << 0 << "\n";
        else cout << prev(it)->second << "\n";
    }
    return 0;
}