Submission
Status:
[PPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: syndrxme
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.514 second
Submitted On: 2026-03-13 16:51:32
#include<bits/stdc++.h>
using namespace std;
int main(){
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";
}
}