Submission
Status:
[PP-SSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: Neozaawwman1
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-12 09:58:48
#include <bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n,m;
cin>>n>>m;
vector<int> hero(n);
for(int i=0;i<n;i++) cin>>hero[i];
vector<pair<int,int>> monster(m);
for(int i=0;i<m;i++){
cin>>monster[i].first>>monster[i].second;
}
sort(monster.begin(),monster.end());
vector<pair<int,int>> pf;
int ct=0;
for(int i=0;i<m;i++){
ct+=monster[i].second;
pf.push_back({monster[i].first,ct});
}
for(int i=0;i<n;i++){
int k = hero[i];
int l=0,r=m-1;
int ans=-1;
while(l<=r){
int mid=(l+r)/2;
if(pf[mid].first <= k){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
if(ans==-1) cout<<0<<"\n";
else cout<<pf[ans].second<<"\n";
}
return 0;
}