239292026-02-01 11:00:05abcdGladiátorok (40 pont)cpp17Accepted 40/40316ms4404 KiB
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int,int>;

int main(){
    int n,q;cin>>n>>q;
    vector<pii> nn(n);
    for(int i=0;i<n;i++){
        cin>>nn[i].first>>nn[i].second;
    }
    sort(nn.begin(),nn.end(),[&](pii a,pii b){
        if(a.first==b.first)return a.second>b.second;
        return a.first<b.first;
    });
    vector<int> pref(n);
    int cnt=0;
    for(int i=0;i<n;i++){
        auto [a,b]=nn[i];
        int diff=max(0,a-cnt);
        if(i==0)pref[0]=diff;
        else pref[i]=pref[i-1]+diff;
        cnt+=diff;
        cnt+=b;
    }
    while(q--){
        int x;cin>>x;
        cout<<upper_bound(pref.begin(),pref.end(),x)-pref.begin()<<' ';
    }
    cout<<'\n';
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms512 KiB
2Accepted0/056ms1076 KiB
3Accepted2/22ms316 KiB
4Accepted2/22ms316 KiB
5Accepted2/28ms484 KiB
6Accepted2/28ms500 KiB
7Accepted2/28ms416 KiB
8Accepted2/28ms492 KiB
9Accepted2/29ms536 KiB
10Accepted2/29ms472 KiB
11Accepted2/235ms812 KiB
12Accepted2/2199ms3636 KiB
13Accepted2/2246ms2708 KiB
14Accepted2/2316ms4376 KiB
15Accepted2/2303ms4256 KiB
16Accepted2/2307ms4404 KiB
17Accepted2/2303ms4404 KiB
18Accepted2/2263ms3628 KiB
19Accepted2/2270ms3616 KiB
20Accepted2/2256ms3628 KiB
21Accepted2/2282ms3636 KiB
22Accepted2/2263ms3636 KiB