Submission
Status:
[PP-SSSSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: mantaggez
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-12 16:50:59
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
const int nx = 2e5+5;
const int mx = 8e5+5;
int n, m, h[nx];
vector<int> idx;
vector<pii> mon;
map<int, int> mp;
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin >> n >> m;
for(int i=1;i<=n;i++) cin >> h[i];
for(int i=1;i<=m;i++)
{
int p, c;
cin >> p >> c;
idx.push_back(p);
mon.push_back({p, c});
}
sort(idx.begin(), idx.end());
idx.erase(unique(idx.begin(), idx.end()), idx.end());
sort(mon.begin(), mon.end());
int cur = 0;
for(auto& [p, c] : mon)
{
cur += c;
mp[p] = cur;
}
for(int i=1;i<=n;i++)
{
auto it = upper_bound(idx.begin(), idx.end(), h[i]);
if(it == idx.begin()) cout << 0 << '\n';
else it--, cout << mp[*it] << '\n';
}
return 0;
}