Submission #127015

#TimeUsernameProblemLanguageResultExecution timeMemory
127015TadijaSebezKitchen (BOI19_kitchen)C++11
100 / 100
29 ms760 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=305;
int dp[N*N],a[N],b[N];
int main()
{
	int n,m,k;
	scanf("%i %i %i",&n,&m,&k);
	int A=0;
	bool ok=1;
	for(int i=1;i<=n;i++)
	{
		scanf("%i",&a[i]);
		A+=a[i];
		if(a[i]<k) ok=0;
	}
	for(int i=1;i<N*N;i++) dp[i]=-1e9;
	for(int i=1;i<=m;i++)
	{
		scanf("%i",&b[i]);
		for(int j=N*N-1;j>=b[i];j--)
		{
			dp[j]=max(dp[j],dp[j-b[i]]+min(b[i],n));
		}
	}
	if(!ok) return 0*printf("Impossible\n");
	for(int i=A;i<N*N;i++)
	{
		if(dp[i]>=k*n)
		{
			printf("%i\n",i-A);
			return 0;
		}
	}
	printf("Impossible\n");
	return 0;
}

Compilation message (stderr)

kitchen.cpp: In function 'int main()':
kitchen.cpp:8:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i %i %i",&n,&m,&k);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
kitchen.cpp:13:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%i",&a[i]);
   ~~~~~^~~~~~~~~~~~
kitchen.cpp:20:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%i",&b[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...