Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: someone

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

Language: cpp

Time: 0.951 second

Submitted On: 2026-03-09 20:24:54

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

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

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