Submission
Status:
[PPP-SSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: navysrimuang
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-13 14:37:05
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
//upper bound - 1 ???
int main(){
cin.tie(0)->sync_with_stdio(0);
int n,m;
cin >> n >> m;
vector<int> h(n),k(m);
vector<ll> psum(m);
vector<pair<int,int>> p(m);
for(int i = 0;i<n;i++){
cin >> h[i];
}
for(int i = 0;i<m;i++){
cin >> p[i].first >> p[i].second;
}
sort(p.begin(),p.end());
k[0] = p[0].first;
psum[0] = p[0].second;
for(int i = 1;i<m;i++){
k[i] = p[i].first;
psum[i] = psum[i-1] + p[i].second;
}
for(auto &x : h){
int i = upper_bound(k.begin(),k.end(),x) - k.begin() - 1;
if(i < 0) cout << 0 << "\n";
cout << psum[i] << "\n";
}
return 0;
}