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