Submission #1016949

#TimeUsernameProblemLanguageResultExecution timeMemory
1016949vjudge1Kitchen (BOI19_kitchen)C++17
100 / 100
11 ms8860 KiB
#include <bits/stdc++.h> using namespace std; #define endl '\n' #define ll long long const ll sz=1e5+5, szz=1e6+5; ll a[sz], b[sz], dp[szz], suma, sumb, f=1; int main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); ll n, m, k; cin>>n>>m>>k; for(int i=1; i<szz; i++) dp[i]=-1; for(int i=1; i<=n; i++){ cin>>a[i]; suma+=a[i]; if(a[i]<k) f=0; } for(int i=1; i<=m; i++){ cin>>b[i]; } if(!f){ cout<<"Impossible"; return 0;} for(int i=1; i<=m; i++){ sumb+=b[i]; for(int j=sumb-b[i]; j>=0; j--){ if(dp[j]!=-1){ dp[j+b[i]]=max(dp[j+b[i]], dp[j]+min(n, b[i])); } } } for(int i=suma; i<sz; i++){ if(dp[i]>=n*k){ cout<<i-suma; return 0; } } cout<<"Impossible"; }
#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...