Submission
Status:
[PP-SSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: 38408
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.004 second
Submitted On: 2026-10-15 15:11:39
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
cin >> n >> m;
vector<int> power(n, 0);
vector<pair<int, int>> mon;
vector<long long> money(n, 0);
for (int i = 0; i < n; i++) {
cin >> power[i];
}
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
mon.push_back({x, y});
}
sort(mon.begin(), mon.end());
for (int i = 1; i < m; i++) {
mon[i].second += mon[i - 1].second;
}
for (int i = 0; i < n; i++) {
int pos = upper_bound(mon.begin(), mon.end(),make_pair(power[i], INT_MAX)) - mon.begin();
if (pos > 0) {
money[i] = mon[pos - 1].second;
}
cout << money[i] << '\n';
}
return 0;
}