Submission
Status:
[PPP-SSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: kakcode
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.004 second
Submitted On: 2025-12-24 21:17:07
/*
TASK: c2_st66_heroes
LANG: C++
AUTHOR: ICE
*/
#include <bits/stdc++.h>
using ll = long long;
#define forr(i, a, n) for (int i = a; i < n; i++)
const ll inf = 10e9;
#define int ll
using namespace std;
using pii = pair<int,int>;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,m;
cin >> n >> m;
vector<int> heroes(n);
vector<pii> monster;
map<int,int> mp;
for(int i=0;i<n;i++){
cin >> heroes[i];
}
for(int i=0;i<m;i++){
int a,b;
cin >> a >> b;
mp[a]+=b;
}
for(auto [a,b] : mp)monster.push_back({a,b});
sort(monster.begin(),monster.end());
vector<int> ans;
int sum = 0;
for(auto [a,b] : mp){sum += b;ans.push_back(sum);}
for(int i=0;i<n;i++){
auto it = lower_bound(monster.begin(),monster.end(),make_pair(heroes[i],LLONG_MAX))-monster.begin();
cout << ans[it-1] << '\n';
}
return 0;
}