제출 #958141

#제출 시각아이디문제언어결과실행 시간메모리
958141ezzzayKitchen (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 sum=s; int ans=1e9; 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...