Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: 555eiei

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

Language: cpp

Time: 0.212 second

Submitted On: 2025-11-05 17:53:04

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int, int> pii;

int main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    int n,m; cin >> n >> m;
    vector<int> heroes(n);
    vector<pii> monsters(m);
    for (auto &x : heroes) cin >> x;
    for (auto &[p,c] : monsters) cin >> p >> c;
    sort(monsters.begin(), monsters.end());
    vector<ll> qs(m+1);
    for (int i=1; i<=m; i++) qs[i] = qs[i-1] + monsters[i-1].second;
    for (int i=0; i<n; i++){
        int idx = upper_bound(monsters.begin(), monsters.end(), make_pair(heroes[i], INT_MAX)) - monsters.begin();
        cout << qs[idx] << '\n';
    }
    return 0;
}