Submission

Status:

[PPP-SSSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: krittaphot

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-05 19:13:25

#include <bits/stdc++.h>

using namespace std;

int main()
{
	long long n,m;
	cin >> n >> m;
	vector<long long> v(n);
	vector<long long> point(m);
	vector<long long> power(m);
	vector<pair<long long,long long>> temp;
	for(long long i = 0;i<n;i++){
		cin >> v[i];
	}
	
	for(long long i = 0;i<m;i++){
		long long a,b;
		cin >> a >> b;
		temp.push_back({a,b});
	}
	
	sort(temp.begin(),temp.end());
	
	for(long long i = 0;i<m;i++){
		if(i != 0){
			point[i] += point[i-1];
		}
		point[i] += temp[i].second;
		power[i] = temp[i].first;
	}
	
	
	for(long long i = 0;i<n;i++){
		auto idx = upper_bound(power.begin(),power.end(),v[i]) - power.begin();
		if(idx == 0){
			cout << "0";
		}
		else{
			cout << point[idx-1] << "\n";
		}
	}
//	for(long long x : polong long){
//		cout << x << " ";
//	}
}