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;
}