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';
    }

}