Submission #1321059

#TimeUsernameProblemLanguageResultExecution timeMemory
1321059metall1caKitchen (BOI19_kitchen)C++20
100 / 100
23 ms1080 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define ld long double int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n,m,k,ok=0,sum=0,gy=0; cin>>n>>m>>k; vector<ll> v(n),v1(m); for(ll i=0;i<n;i++) { cin>>v[i]; if(v[i]<k) { cout<<"Impossible\n"; return 0; } gy+=v[i]; } for(ll i=0;i<m;i++) { cin>>v1[i]; sum+=v1[i]; } if(k>v1.size() || gy>sum) { cout<<"Impossible\n"; return 0; } else { ll ans=0; vector<ll> dp(sum+1,-100000); dp[0]=0; for(ll i=0;i<m;i++) { for(ll j=sum;j>=v1[i];j--) { if(dp[j-v1[i]]!=-100000) { dp[j]=max(dp[j],dp[j-v1[i]]+min(v1[i],n)); } } } for(ll i=gy;i<=sum;i++) { if(dp[i]>=n*k) { cout<<i-gy<<"\n"; return 0; } } cout<<"Impossible\n"; } return 0; }
#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...