Submission #958140

#TimeUsernameProblemLanguageResultExecution timeMemory
958140ezzzayKitchen (BOI19_kitchen)C++14
0 / 100
1 ms412 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; int sum=s; for(int i=0; i<(1<<m); i++){ int cur=0,cnt=0,num=0; for(int j=0; j<m; j++){ if(i&(1<<j)){ if(num+b[j]>=n){ cnt++; num=min(num,(num+b[j])%n); }else{ num+=b[j]; } cur+=b[j]; } } if(cur>=sum&&cnt>=k){ ans=min(ans,cur-sum); } } 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...