Submission #958138

#TimeUsernameProblemLanguageResultExecution timeMemory
958138ezzzayKitchen (BOI19_kitchen)C++14
0 / 100
1 ms348 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define pb push_back #define ff first #define ss second const int N=550; int a[N]; int b[N]; signed main(){ int n,m,k; cin>>n>>m>>k; int s=0; for(int i=1;i<=n;i++){ cin>>a[i]; s+=a[i]; } for(int i=0;i<m;i++)cin>>b[i]; for(int i=1;i<=n;i++){ if(a[i]<k){ cout<<"IMPOSSIBLE"; return 0; } } int ans=1e9; for(int i=0;i<(1<<m);i++){ int tmp=0; int t=0; int cnt=0; for(int j=0;j<m;j++){ if(i & (1<<j)){ if(t+b[j]>=n){ t=min(t,(t+b[j])%n); cnt++; } else{ t+=b[j]; } tmp+=b[j]; } } if(cnt<k or tmp<s)continue; ans=min(ans,tmp-s); } if(ans==1e9){ 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...