Submission #100138

# Submission time Handle Problem Language Result Execution time Memory
100138 2019-03-09T13:21:29 Z aer0park Taxis (POI13_tak) C++14
100 / 100
262 ms 4624 KB
#include <bits/stdc++.h>
 
using namespace std;
 
typedef long long ll;
 
ll n,m,d,anw,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.emplace_back(a);
	}	
	sort(x.begin(),x.end());
	ll i=n-1;
	while(sum<m&&i>=0)
	{
		if(x[i]-abs(d-sum)>0)
			sum+=x[i]-abs(d-sum),anw++;
		i--;
	}
	if(sum>=m)
	{
		cout<<anw;
		return 0;
	}
	id=lower_bound(x.begin(),x.end(),m-d)-x.begin();
	if(id==n)
	{
		cout<<0;
		return 0;
	}
	i=n-1,sum=0,anw=1;
	while(sum<d&&i>=0)
	{
		if(i==id)
		{
			i--;
			continue;
		}
		if(x[i]-abs(d-sum)>0)
			sum+=x[i]-abs(d-sum),anw++;
		i--;
	}
	if(sum<d)
	{
		if(sum+x[id]-abs(d-sum)>=m)
			cout<<anw;
		else
			cout<<0;
	}
	else
		cout<<anw;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 428 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 1024 KB Output is correct
2 Correct 5 ms 996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 21 ms 1504 KB Output is correct
2 Correct 18 ms 1532 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 31 ms 1532 KB Output is correct
2 Correct 65 ms 2544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 97 ms 4584 KB Output is correct
2 Correct 117 ms 4624 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 262 ms 4584 KB Output is correct
2 Correct 169 ms 4532 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 135 ms 4532 KB Output is correct
2 Correct 161 ms 4620 KB Output is correct