Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Gump2011

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

Language: cpp

Time: 0.246 second

Submitted On: 2026-03-08 18:09:30

#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    int n, m;
    cin >> n >> m;
    
    vector<ll> h(n);
    for(int i=0;i<n;i++){
        cin >> h[i];
    }
    
    vector<pair<ll,ll>> mons(m);
    for(int i=0;i<m;i++){
        cin >> mons[i].first >> mons[i].second;
    }

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

    vector<ll> v(m+1, 0);
    for(int i=0;i<m;i++){
        v[i+1] = v[i] + mons[i].second;
    }

    for(int i=0;i<n;i++){
        auto it = upper_bound(mons.begin(), mons.end(), make_pair(h[i], LLONG_MAX));
        int idx = it - mons.begin();
        cout << v[idx] << '\n';
    }

    return 0;
}