Submission
Status:
[PP-SSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: someone
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-09 20:23:34
#include<bits/stdc++.h>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(0);
int n, m;
cin >> n >> m;
map<int, int> coins;
vector<int> hero(n);
vector<int> qs(m+1);
vector<int> power(1, 0);
for (int i = 0 ; i < n ; i++) cin >> hero[i];
for (int i = 0 ; i < m ; i++) {
int p, c;
cin >> p >> c;
coins[p] += c;
}
int i = 1;
for (auto pa : coins) {
int p = pa.first;
int c = pa.second;
qs[i] = qs[i-1] + c;
power.push_back(p);
i++;
}
// for (int i = 1; i <= m ; i++) {
// cout << power[i] << ' ';
// }
// cout << endl;
// for (int i = 1 ; i <= m ; i++) {
// cout << qs[i] << ' ';
// }
// cout << endl;
for (int i = 0 ; i < n ; i++) {
auto index = upper_bound(power.begin(), power.end(), hero[i]) - power.begin() - 1;
cout << qs[index] << '\n';
}
}