Submission

Status:

[PP-SSSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: someone

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

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-09 20:23:34

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

int main() {
    cin.tie(nullptr)->sync_with_stdio(0);
    int n, m;
    cin >> n >> m;
    map<int, int> coins;
    vector<int> hero(n);
    vector<int> qs(m+1);
    vector<int> power(1, 0);
    for (int i = 0 ; i < n ; i++) cin >> hero[i];
    for (int i = 0 ; i < m ; i++) {
        int p, c;
        cin >> p >> c;
        coins[p] += c;
    }
    int i = 1;
    for (auto pa : coins) {
        int p = pa.first;
        int c = pa.second;
        qs[i] = qs[i-1] + c;
        power.push_back(p);
        i++;
    }
    // for (int i = 1; i <= m ; i++) {
    //     cout << power[i] << ' ';
    // }  
    // cout << endl;
    // for (int i = 1 ; i <= m ; i++) {
    //     cout << qs[i] << ' ';
    // }
    // cout << endl;

    for (int i = 0 ; i < n ; i++) {
        auto index = upper_bound(power.begin(), power.end(), hero[i]) - power.begin() - 1;
        cout << qs[index] << '\n';
    }
}