Submission #928886

#TimeUsernameProblemLanguageResultExecution timeMemory
928886Muhammad_AneeqKitchen (BOI19_kitchen)C++17
100 / 100
29 ms856 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> using namespace std; int const N=300*300+10; int sums[N]={}; inline void solve() { int n,m,k; cin>>n>>m>>k; int z=0; int a[n]; for (auto& i:a) { cin>>i,z+=i; if (i<k) { cout<<"Impossible\n";return; } } for (int i=0;i<N-1;i++) sums[i]=-1e9+10; sums[0]=0; int ans=1e9+10; int f=k*n; for (int i=0;i<m;i++) { int x; cin>>x; for (int j=N-x-1;j>=0;j--) { sums[j+x]=max(sums[j+x],sums[j]+min(x,n)); if (sums[j+x]>=f&&j+x>=z) ans=min(ans,j+x-z); } } if (ans==1e9+10) cout<<"Impossible\n"; else cout<<ans<<endl; } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }
#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...