Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: konthaina_TH

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

Language: cpp

Time: 0.239 second

Submitted On: 2026-03-05 20:17:06

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll n,m;
    cin >> n >> m;
    vector<ll> hero(n);
    for (ll i=0;i<n;i++) {
        cin >> hero[i];
    }
    vector<pair<ll,ll>> monster(m);
    for (ll i=0;i<m;i++) {
            cin >> monster[i].first >> monster[i].second;
    }
    sort(monster.begin(),monster.end());
    vector<ll> prefix(m+1,0);
    for (ll i = 0;i<m;i++) {
        prefix[i+1] = prefix[i] + monster[i].second;
    }
    for (ll i = 0;i<n;i++) {
        auto it = upper_bound(monster.begin(),monster.end(),make_pair(hero[i],(ll)2e18));
        int index = distance(monster.begin(),it);
        cout << prefix[index] << "\n";
    }
}