Submission
Status:
[PP-SSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: krittaphot
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-05 19:11:57
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
cin >> n >> m;
vector<int> v(n);
vector<int> point(m);
vector<int> power(m);
vector<pair<int,int>> temp;
for(int i = 0;i<n;i++){
cin >> v[i];
}
for(int i = 0;i<m;i++){
int a,b;
cin >> a >> b;
temp.push_back({a,b});
}
sort(temp.begin(),temp.end());
for(int i = 0;i<m;i++){
if(i != 0){
point[i] += point[i-1];
}
point[i] += temp[i].second;
power[i] = temp[i].first;
}
for(int 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(int x : point){
// cout << x << " ";
// }
}