249862026-02-17 11:20:55MatematikaGladiátorok (40 pont)cpp17Accepted 40/4074ms3380 KiB
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
using ll=long long;

int main() {
    ios::sync_with_stdio(false); cin.tie(0);
	int n,q; cin >> n >> q;
    vector<pair<ll,ll>> vec(n);
    for(auto& [a,b]:vec)
        cin >> a >> b;
    sort(vec.begin(), vec.end());
    vector<ll> req(n);
    req[0]=vec[0].first;
    ll gained=0;
    for(int i=1; i<n; i++)
    {
        gained+=vec[i-1].second;
        req[i]=max(req[i-1], vec[i].first-gained);
    }
    for(int i=0; i<q; i++)
    {
        int a; cin >> a;
        cout << upper_bound(req.begin(), req.end(), a)-req.begin() << " ";
    }
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/014ms1076 KiB
3Accepted2/21ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/22ms316 KiB
6Accepted2/23ms500 KiB
7Accepted2/22ms472 KiB
8Accepted2/23ms316 KiB
9Accepted2/23ms316 KiB
10Accepted2/22ms316 KiB
11Accepted2/210ms932 KiB
12Accepted2/252ms2768 KiB
13Accepted2/248ms1984 KiB
14Accepted2/272ms3284 KiB
15Accepted2/272ms3296 KiB
16Accepted2/274ms3320 KiB
17Accepted2/272ms3280 KiB
18Accepted2/252ms3280 KiB
19Accepted2/254ms3380 KiB
20Accepted2/252ms3380 KiB
21Accepted2/257ms3296 KiB
22Accepted2/257ms3260 KiB