Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: syndrxme

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

Language: cpp

Time: 0.215 second

Submitted On: 2026-03-13 16:52:35

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

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int n,m;
    cin>>n>>m;
    vector<int> h(n);
    for(int i=0;i<n;i++){
        cin>>h[i];
    }
    vector<pair<long long,long long>> mons(m);
    for(int i=0;i<m;i++){
        cin>>mons[i].first;
        cin>>mons[i].second;
    }
    sort(mons.begin(),mons.end());
    vector<long long> pref(m);
    pref[0] = mons[0].second;
    for(int i=1;i<m;i++){
        pref[i] = pref[i-1] + mons[i].second;
    }
    for(int i=0;i<n;i++){
        long long tar = h[i];
        int pos = upper_bound(mons.begin(),mons.end(),make_pair(tar,10000000000LL)) - mons.begin() - 1;
        if(pos < 0) cout << 0 << '\n';
        else cout<<pref[pos]<<"\n";
    }
}