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 << " ";
// }
}