Submission
Status:
[PPPPPPPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Phat12
Problemset: ฮีโร่และมอนสเตอร์
Language: cpp
Time: 0.490 second
Submitted On: 2025-11-06 09:38:26
#include <bits/stdc++.h>
using namespace std;
int arr[200100];
pair<int,int> arr2[800100];
long long dp[800100];
int main() {
int n,m;
cin >> n >> m;
for (int i=0;i<n;i++) cin >> arr[i];
for (int i=1;i<=m;i++){
int a,b;
cin >> a >> b;
arr2[i] = {a,b};
}
sort(arr2,arr2+m+1);
for (int i=1;i<=m;i++){
dp[i]+=dp[i-1]+arr2[i].second;
}
for (int i=0;i<n;i++){
int idx = upper_bound(arr2,arr2+m+1,make_pair(arr[i],INT_MAX))-arr2-1;
cout << dp[idx] << '\n';
}
}