Submission

Status:

[PP-SSSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Jirayu.S

Problemset: ฮีโร่และมอนสเตอร์

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-25 14:56:29

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using pii = pair<int, int>;



int main(){
    ios::sync_with_stdio(false); cin.tie(0);
    
    int n, m; cin >> n >> m;
    vector<int> hero(n), power(m),ans(n);
    for (int i=0;i<n;i++) cin >> hero[i];
    
    vector<pair<int,int>> mon(m);
    for (int i=0;i<m;i++) {
        cin >> mon[i].first >> mon[i].second;
    }
    
    sort(mon.begin(), mon.end());
    
    vector<long long> coin(m);
    coin[0] = mon[0].second;
    for (int i=1;i<m;i++){
        coin[i] = coin[i-1] + mon[i].second;
    }
    
    for (int i = 0;i<m;i++) power[i] = mon[i].first;
    
    for (int i=0;i<n;i++){
        int idx = upper_bound(power.begin(), power.end(), hero[i]) - power.begin() - 1;
        if (idx < 0) continue;
        ans[i] = coin[idx];
    }
    for (auto x:ans) cout << x << endl;
}