제출 #82639

#제출 시각아이디문제언어결과실행 시간메모리
82639farukkastamonuda새로운 문제 (POI13_tak)C++14
10 / 100
167 ms32720 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
#define lo long long 
#define inf 1000000009
#define md 1000000007
#define li 500005
#define mp make_pair
#define pb push_back
using namespace std;
int m,d,n,A[li],sum,tut=1,kullan[li];
void fail(){
	printf("0\n");
	exit(0);
}
int main(){
	scanf("%d %d %d",&m,&d,&n);
	sum=d;
	for(int i=1;i<=n;i++) scanf("%d",&A[i]);
	sum=d;
	sort(A+1,A+n+1,greater<int>());
	if(A[1]<m-d) fail();
	for(int i=2;i<=n;i++){
		if(A[i]>=m-d){
			tut=i;
		}
		else break;
	}
	for(int i=1;i<=tut-1;i++) kullan[i]=1;
	for(int i=1;i<=n;i++){
		if(i==tut) continue;
		if(kullan[i]==1){
			if(A[i]<=sum) fail();
			A[i]-=sum;
			sum-=A[i];
			if(sum<=0){
				printf("%d\n",i+1);
				return 0;
			}
		}
		else{
			if(A[i]<=sum) fail();
			A[i]-=sum;
			sum-=A[i];
			if(sum<=0){
				printf("%d\n",i);
				return 0;
			}
		}
	}
	fail();
	return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

tak.cpp: In function 'int main()':
tak.cpp:17:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d",&m,&d,&n);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
tak.cpp:19:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1;i<=n;i++) scanf("%d",&A[i]);
                        ~~~~~^~~~~~~~~~~~
#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...