Submission #1193335

#TimeUsernameProblemLanguageResultExecution timeMemory
1193335prideliqueeeKitchen (BOI19_kitchen)C++20
21 / 100
93 ms135496 KiB
#include<bits/stdc++.h> using namespace std; #define int long long signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n,m,k; cin>>n>>m>>k; int a[n+1]; int suma=0; for(int i=1;i<=n;i++) { cin>>a[i]; suma+=a[i]; if(a[i]<k) { cout<<"Impossible"; return 0; } } int sumb=0; int b[m+1]; for(int i=1;i<=m;i++) { cin>>b[i]; sumb+=b[i]; } int dp[m+1][sumb+1]; int ans=LLONG_MAX; memset(dp,0,sizeof dp); for(int i=1;i<=m;i++) { for(int j=sumb;j>=0;j--) { dp[i][j]=dp[i-1][j]; if(j>=b[i]) { dp[i][j]=max(dp[i][j],dp[i-1][j-b[i]]+min(n,b[i])); } if(j>=suma&&dp[i][j]>=n*k) ans=min(ans,j-suma); } } if(ans==LLONG_MAX) cout<<"Impossible"; else cout<<ans; }
#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...