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