250012026-02-17 11:47:32linhnkGladiátorok (40 pont)cpp17Accepted 40/40157ms4916 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main() { 
	int n, q; cin>>n>>q;
	vector<pair<ll, ll>>  sen(n), caesar(q);
	vector<ll> ki(q, -1);
	for(int i=0; i<n; i++){
		cin>>sen[i].first>>sen[i].second;
	}
	for(int i=0; i<q; i++){
		cin>>caesar[i].first;
		caesar[i].second=i;
	}
	sort(sen.begin(), sen.end());
	sort(caesar.begin(), caesar.end());
	int d=0, a=0, b=0;
	while(a<n&&b<q){
		if(caesar[b].first+d>=sen[a].first){
			d+=sen[a].second;
			a++;
		}
		else{
			ki[caesar[b].second]=a;
			b++;
		}
	}
	for(int i=0; i<q; i++){
		if(ki[i]==-1)
		cout<<n<<" ";
		else
		cout<<ki[i]<<" ";
	}
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/030ms1332 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/24ms368 KiB
6Accepted2/24ms316 KiB
7Accepted2/24ms520 KiB
8Accepted2/24ms516 KiB
9Accepted2/24ms316 KiB
10Accepted2/24ms316 KiB
11Accepted2/223ms820 KiB
12Accepted2/2127ms3160 KiB
13Accepted2/2108ms3892 KiB
14Accepted2/2157ms4848 KiB
15Accepted2/2156ms4660 KiB
16Accepted2/2155ms4660 KiB
17Accepted2/2156ms4660 KiB
18Accepted2/2128ms4908 KiB
19Accepted2/2127ms4840 KiB
20Accepted2/2127ms4916 KiB
21Accepted2/2133ms4660 KiB
22Accepted2/2134ms4660 KiB