Submission
Status:
[PPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: august
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.237 second
Submitted On: 2026-03-18 19:17:54
#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main() {
cin.tie(0)->sync_with_stdio(0);
int n, m;
cin>> n>> m;
vector<int> h(n);for (int i=0; i<n; i++) cin>> h[i];
vector<pair<int,int>> bs;
for (int i=0; i<m; i++) {
int p,c;
cin>> p>> c;
bs.push_back({p,c});
}
sort(bs.begin(), bs.end());
vector<int> pf(m,0);
for (int i=0; i<m; i++) {
if (i!=0) pf[i] += pf[i-1];
pf[i] += bs[i].second;
}
for (int i=0; i<n; i++) {
int l=0, r=m-1;
while (l<=r) {
int mid=(r-l)/2+l;
if (bs[mid].first <= h[i]) l=mid+1;
else r=mid-1;
}
l--;
if (l<0) cout<< 0<< '\n';
else cout<< pf[l]<< '\n';
}
}