Submission #1220061

#TimeUsernameProblemLanguageResultExecution timeMemory
1220061akqxolotlKitchen (BOI19_kitchen)C++20
0 / 100
48 ms580 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> pii;
#define fi first
#define se second

int dp[100005];

signed main(){
	int n,m,k;cin>>n>>m>>k;
	int a[n],b[n];
	int s=0;
	for(int i=0;i<n;i++){
		cin>>a[i];
		s+=a[i];
	}
	int bs=0;
	for(int i=0;i<m;i++){
		cin>>b[i];
		bs+=b[i];
	}
	if(bs<s){
		cout<<"Impossible\n";
		return 0;
	}
	dp[0]=1;
	for(int i=1;i<=s;i++){
		for(int j=0;j<m;j++){
			if(i-b[j]<0)continue;
			dp[i]+=dp[i-b[j]];
			dp[i]=min(dp[i],1LL);
		}
	}
	cout<<1-dp[s]<<'\n';
}
#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...