Submission

Status:

[PPP-SSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: navysrimuang

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

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-13 14:37:05

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

//upper bound - 1 ???

int main(){
    
    cin.tie(0)->sync_with_stdio(0);
    int n,m;
    cin >> n >> m;

    vector<int> h(n),k(m);
    vector<ll> psum(m);
    vector<pair<int,int>> p(m);
    

    for(int i = 0;i<n;i++){
        cin >> h[i];
    }

    for(int i = 0;i<m;i++){
        cin >> p[i].first >> p[i].second;
    }

    sort(p.begin(),p.end());

    k[0] = p[0].first;
    psum[0] = p[0].second;

    for(int i = 1;i<m;i++){
        k[i] = p[i].first;
        psum[i] = psum[i-1] + p[i].second;
    }

    for(auto &x : h){
        int i = upper_bound(k.begin(),k.end(),x) - k.begin() - 1;
        if(i < 0) cout << 0 << "\n";
        cout << psum[i] << "\n";
    }
    return 0;
}