Submission

Status:

[PP-SSSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: mantaggez

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-12 16:47:03

#include <bits/stdc++.h>

using namespace std;
using ll = long long;
using pii = pair<int, int>;

const int nx = 2e5+5;
const int mx = 8e5+5;

int n, m, h[nx];
vector<int> idx;
vector<pii> mon;
map<int, int> mp;

int main()
{
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> n >> m;
    for(int i=1;i<=n;i++) cin >> h[i];
    for(int i=1;i<=m;i++)
    {
        int p, c;
        cin >> p >> c;
        idx.push_back(p);
        mon.push_back({p, c});
    }

    sort(idx.begin(), idx.end());
    sort(mon.begin(), mon.end());

    int cur = 0;
    for(auto& [p, c] : mon)
    {
        cur += c;
        mp[p] = cur;
    }

    for(int i=1;i<=n;i++)
    {
        auto it = upper_bound(idx.begin(), idx.end(), h[i]);
        if(it == idx.begin()) cout << 0 << '\n';
        else it--, cout << mp[*it] << '\n';
    }

    return 0;
}