Submission #28939

# Submission time Handle Problem Language Result Execution time Memory
28939 2017-07-18T01:36:14 Z 서규호 (지각충1)(#1231) Taxis (POI13_tak) C++14
50 / 100
146 ms 5924 KB
#include <bits/stdc++.h>
#include <unistd.h>

#define pii pair<int,int>
#define pll pair<lld,lld>
#define pb push_back
#define next nextt
#define lld long long
#define Inf 1000000000
#define Linf 1000000000000000000LL
#define get gett

using namespace std;

int N,ans; lld D,M;
lld a[500002];

void impossible(){
	puts("0");
	exit(0);
}

int main(){
	scanf("%lld %lld %d",&D,&M,&N);
	int v; lld small = Linf;
	for(int i=1; i<=N; i++){
		scanf("%d",&a[i]);
		if(small >= a[i] && a[i] >= D-M){
			small = a[i];
			v = i;
		}
	}
	if(small == Linf && D != M) impossible();
	if(small != Linf){
		for(int i=v; i<N; i++) a[i] = a[i+1];
		N--;
	}
	sort(a+1,a+N+1);
	reverse(a+1,a+N+1);
	lld dis = M; ans = 1;
	for(int i=1; i<=N; i++){
		if(small >= dis*2+D-M) break;
		if(a[i] <= dis) impossible();
		dis -= (a[i]-dis);
		ans++;
	}
	if(dis <= M-D) ans--;
	else if(small < dis*2+D-M) impossible();
	printf("%d\n",ans);

	return 0;
}

Compilation message

tak.cpp: In function 'int main()':
tak.cpp:27:19: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long long int*' [-Wformat=]
   scanf("%d",&a[i]);
                   ^
tak.cpp:24:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld %lld %d",&D,&M,&N);
                                ^
tak.cpp:27:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
                    ^
# 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 13 ms 5924 KB Output is correct
2 Correct 3 ms 5924 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 5924 KB Output is correct
2 Incorrect 9 ms 5924 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 33 ms 5924 KB Output is correct
2 Incorrect 73 ms 5924 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 103 ms 5924 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 126 ms 5924 KB Output is correct
2 Incorrect 99 ms 5924 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 146 ms 5924 KB Output isn't correct
2 Halted 0 ms 0 KB -