Submission

Status:

[PPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: C12

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

Language: cpp

Time: 0.346 second

Submitted On: 2026-01-01 22:01:01

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

#define f first
#define s second
#define pii pair<ll,ll>
#define puii pair<ull,ull>
#define piii pair<ll,pii>
#define ll long long
#define ull unsigned long long
#define mp make_pair
 
#define mpiii(a,b,c) make_pair(a,make_pair(b,c));
// ll mod = 1000000007;

void solve(){
    int n,m;

    cin >> n >> m;

    vector<ll>h(n),c(m);
    vector<pii>mon(m);


    int t,tt;

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

    for(int i = 0;i < m;i++){
        cin >> t >> tt;
        mon[i] = mp(t,tt);
    }

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

    c[0] = mon[0].s;
    for(int i = 1;i < m;i++){
        c[i] = c[i-1] + mon[i].s;
    }

    for(int i = 0;i < n;i++){
        auto pos = upper_bound(mon.begin(),mon.end(),mp(h[i],LLONG_MAX));
        ll index = pos - mon.begin() - 1;
        if(index < 0){
            cout << 0 << '\n';
        }
        else{
            cout << c[index] << '\n';
        }
    }

    return;
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);

    ll q;
 
    // cin >> q;

    // while(q--)
        solve(); 

    return 0;
}
/*
4 5
0 4 2 6
1 2
1 3
5 4
2 5
3 6
*/