Submission

Status:
[PPP-SSSSSSSSSSSSSSSS]

Score: 0

User: qwerty

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-25 21:33:39

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

#define int long long

int32_t main() {
    cin.tie(nullptr)->sync_with_stdio(false);
    int n, m; // hero and monster number
    cin >> n >> m;
    vector<int> hero(n);
    for (int i = 0 ; i < n ; i++) {
        cin >> hero[i];
    }

    vector<pair<int, int>> mon(m);
    for (int i = 0 ; i < m ; i++) {
        int p, c;
        cin >> p >> c;
        mon[i] = {p, c};
    }

    sort(mon.begin(), mon.end());
    vector<int> sum(m);
    sum[0] = mon[0].second;
    for (int i = 1 ; i < m ; i++) {
        sum[i] = sum[i-1]+mon[i].second;
    }
    for (auto h : hero) {
        int ans = 0;
        auto it = upper_bound(mon.begin(), mon.end(), make_pair(h, LLONG_MAX));
        int index = it-mon.begin()-1;
        if (it == mon.end()) {
            index = m-1;
        }
        cout << sum[index] << "\n";
    }
}

/*4 5 1 4 2 6 1 2 1 3 5 4 2 5 3 6*/