Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: C12

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

Language: cpp

Time: 0.206 second

Submitted On: 2026-03-07 23:55:51

#include <bits/stdc++.h>

using namespace std;

#define ll long long

int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);

    int n,m;

    cin >> n >> m;

    vector<int> hero(n);
    
    for(ll i = 0;i < n;i++){
        cin >> hero[i];
    }

    int p,c;
    vector<pair<int,ll>>mon(m+1);
    
    for(ll i = 0;i < m;i++){
        cin >> p >> c;
        mon[i] = {p,c};
    }

    mon[m] = {0,0};
    sort(mon.begin(),mon.end());

    for(ll i = 1;i <= m;i++){
        mon[i] = make_pair(mon[i].first , mon[i].second + mon[i-1].second);
    }

    for(ll i = 0; i < n;i++){
        auto pos = upper_bound(mon.begin(),mon.end(),make_pair(hero[i],LLONG_MAX));
        pos--;
        cout << (*pos).second << '\n';
    }

    return 0;
}