Submission
Status:
[PPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: konthaina_TH
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.239 second
Submitted On: 2026-03-05 20:17:06
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n,m;
cin >> n >> m;
vector<ll> hero(n);
for (ll i=0;i<n;i++) {
cin >> hero[i];
}
vector<pair<ll,ll>> monster(m);
for (ll i=0;i<m;i++) {
cin >> monster[i].first >> monster[i].second;
}
sort(monster.begin(),monster.end());
vector<ll> prefix(m+1,0);
for (ll i = 0;i<m;i++) {
prefix[i+1] = prefix[i] + monster[i].second;
}
for (ll i = 0;i<n;i++) {
auto it = upper_bound(monster.begin(),monster.end(),make_pair(hero[i],(ll)2e18));
int index = distance(monster.begin(),it);
cout << prefix[index] << "\n";
}
}