Submission
Status:
[PPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: angpangSK
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.213 second
Submitted On: 2025-11-18 22:18:05
#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> hero(n);
for (int &x : hero) cin >> x;
vector<int> mons(m), coin(m);
for (int i = 0; i < m; i++)
cin >> mons[i] >> coin[i];
vector<pair<int,int>> v(m);
for (int i = 0; i < m; i++) v[i] = {mons[i], coin[i]};
sort(v.begin(), v.end());
for (int i = 0; i < m; i++) {
mons[i] = v[i].first;
coin[i] = v[i].second;
}
vector<long long> pref(m);
pref[0] = coin[0];
for (int i = 1; i < m; i++)
pref[i] = pref[i - 1] + coin[i];
for (int h : hero) {
int idx = upper_bound(mons.begin(), mons.end(), h) - mons.begin() - 1;
if (idx >= 0) cout << pref[idx] << "\n";
else cout << 0 << "\n";
}
}