Submission #28987

# Submission time Handle Problem Language Result Execution time Memory
28987 2017-07-18T02:50:41 Z tlwpdus Taxis (POI13_tak) C++11
100 / 100
196 ms 5924 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

ll m, d; int n;
ll x[500100];

int main() {
	int i;

	scanf("%lld%lld%d",&m,&d,&n); m*=2; d*=2;
	for (i=0;i<n;i++) {scanf("%lld",&x[i]);x[i]*=2;}
	sort(x,x+n);
	int idx = lower_bound(x,x+n,m-d)-x;
	if (idx==n) {
		printf("0\n"); return 0;
	}
	ll loc = (d-(x[idx]-(m-d))/2), cur = 0; int cnt = 0;
	for (i=n-1;i>=0;i--) {
		if (cur>=m) {
			printf("%d\n",cnt);
			return 0;
		}
		if (cur>=loc) {
			printf("%d\n",cnt+1);
			return 0;
		}
		if (i==idx) continue;
		if (d-cur>=x[i]) {
			printf("0\n");
			return 0;
		}
		cur += (x[i]-(d-cur)); cnt++;
	}
	if (cur>=m) {
		printf("%d\n",cnt);
		return 0;
	}
	if (cur>=loc) {
		printf("%d\n",cnt+1);
		return 0;
	}
	printf("0\n");

    return 0;
}

Compilation message

tak.cpp: In function 'int main()':
tak.cpp:13:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld%d",&m,&d,&n); m*=2; d*=2;
                              ^
tak.cpp:14:40: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for (i=0;i<n;i++) {scanf("%lld",&x[i]);x[i]*=2;}
                                        ^
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5924 KB Output is correct
2 Correct 0 ms 5924 KB Output is correct
3 Correct 0 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5924 KB Output is correct
2 Correct 0 ms 5924 KB Output is correct
3 Correct 0 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5924 KB Output is correct
2 Correct 0 ms 5924 KB Output is correct
3 Correct 0 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 5924 KB Output is correct
2 Correct 0 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 5924 KB Output is correct
2 Correct 3 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 19 ms 5924 KB Output is correct
2 Correct 16 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 5924 KB Output is correct
2 Correct 63 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 5924 KB Output is correct
2 Correct 126 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 176 ms 5924 KB Output is correct
2 Correct 139 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 143 ms 5924 KB Output is correct
2 Correct 196 ms 5924 KB Output is correct