Submission #1330675

#TimeUsernameProblemLanguageResultExecution timeMemory
1330675boclobanchatKitchen (BOI19_kitchen)C++20
0 / 100
14 ms752 KiB
#include<bits/stdc++.h>
using namespace std;
const int INF=1e9;
int dp[99999],A[999],B[999];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n,m,k,sum=0;
    cin>>n>>m>>k;
    if(m<k) return cout<<"Impossible",0;
    for(int i=1;i<=n;i++)
    {
    	cin>>A[i];
    	sum+=A[i];
    	if(A[i]<k) return cout<<"Impossible",0;
	}
	for(int i=1;i<=m*300;i++) dp[i]=-INF;
	for(int i=1;i<=m;i++)
	{
		cin>>B[i];
		for(int j=m*300;j>=B[i];j--) dp[j]=max(dp[j],dp[j-B[i]]+min(B[i],k));
	}
	for(int i=sum;i<=m*300;i++) if(dp[i]>=k*n) return cout<<i-sum,0;
	cout<<"Impossible";
}
#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...