Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: House123

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

Language: cpp

Time: 0.881 second

Submitted On: 2026-03-12 00:58:37

#include <bits/stdc++.h>
using namespace std;


int main(){
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    int n,m;
    cin >> n >> m;
    vector<int> hero(n);
    map<int,long long> monster;
    for(int i = 0; i < n ; i++) {
         cin >> hero[i];
    }    

    for(int i = 0; i < m ; i++ ){
        int power,coin;
        cin >> power >> coin;
        monster[power] += coin;
    }
    long long prefix_sum= 0;
    for(auto& pair:monster){
        prefix_sum += pair.second;
        pair.second = prefix_sum;
    }

    for(int i = 0; i < n;i++){
        auto it = monster.upper_bound(hero[i]);

        if(it == monster.begin()){
            cout << 0 << '\n';
            
        } else {
            it--;
            cout << it->second << '\n';
            
        }

    }
}