Submission #99875

#TimeUsernameProblemLanguageResultExecution timeMemory
99875aer0parkTaxis (POI13_tak)C++14
0 / 100
1076 ms9360 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll n,m,d,anw=1,sum,id;
vector<ll> x;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>m>>d>>n;
	for(int i=0;i<n;i++)
	{
		ll a;cin>>a;
		x.push_back(a);
	}	
	sort(x.begin(),x.end());
	id=lower_bound(x.begin(),x.end(),m-d)-x.begin();
	if(id==n)
	{
		cout<<0;
		return 0;
	}
	if(id==0)
		anw=0;
	// find x try to be exact
	ll i=n-1;
	while(sum<d&&i>=0)
	{
		if(i==id) continue;
		if(x[i]-d+sum>0)
			sum+=x[i]-d+sum,anw++;
		else if((x[i]-d+sum)*i+sum<d)
			break;
		i--;
	}
	if(sum<d)
	{
		cout<<0;
		return 0;
	}
	cout<<anw;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...