250012026-02-17 11:47:32linhnkGladiátorok (40 pont)cpp17Elfogadva 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]<<" ";
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/01ms316 KiB
2Elfogadva0/030ms1332 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/24ms368 KiB
6Elfogadva2/24ms316 KiB
7Elfogadva2/24ms520 KiB
8Elfogadva2/24ms516 KiB
9Elfogadva2/24ms316 KiB
10Elfogadva2/24ms316 KiB
11Elfogadva2/223ms820 KiB
12Elfogadva2/2127ms3160 KiB
13Elfogadva2/2108ms3892 KiB
14Elfogadva2/2157ms4848 KiB
15Elfogadva2/2156ms4660 KiB
16Elfogadva2/2155ms4660 KiB
17Elfogadva2/2156ms4660 KiB
18Elfogadva2/2128ms4908 KiB
19Elfogadva2/2127ms4840 KiB
20Elfogadva2/2127ms4916 KiB
21Elfogadva2/2133ms4660 KiB
22Elfogadva2/2134ms4660 KiB