Submission

Status:
[P-SSSSSSSSSSSSSSSSSS]

Score: 0

User: mydKN

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-31 09:55:35

#include<bits/stdc++.h>

using namespace std;

using ll = long long;
using pll = pair<ll, ll>;

const int maxn = 2e5+5;
const int maxm = 8e5+5;
const ll inf = 9e18;

int n, m;
int arr[maxn];
pll qs[maxm];

int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	cin >> n >> m;
	for(int i=0;i<n;++i){
		cin >> arr[i];
	}
	for(int i=0;i<m;++i){
		cin >> qs[i].first >> qs[i].second;
	}
	sort(qs, qs+m);
	for(int i=1;i<m;++i){
		qs[i].second += qs[i-1].second;
	}
	// for(int i=0;i<m;++i) cout << qs[i].first << " " << qs[i].second << "\n";
	for(int i=0;i<n;++i){
		pll x = {(ll)arr[i], inf};
		auto it = upper_bound(qs, qs+n, x);
		if(it->first > arr[i]) it--;
		cout << it->second << "\n";
	}
}