Submission #745880

#TimeUsernameProblemLanguageResultExecution timeMemory
745880vjudge1Kitchen (BOI19_kitchen)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> // #define MULTI_TEST_CASE // #define TEST_TEXT using namespace std; #define ll long long #define MAX(a, b) (a) = max((a), (b)) #define MIN(a, b) (a) = min((a), (b)) #define all(a) (a).begin(), (a).end() #define sortedpair(a, b) {min((a), (b)), max((a), (b))} const ll MOD = 1e9+7; void solve(){ int n, m, k; cin>>n>>m>>k; vector<int> a(n); for(int&i:a)cin>>i; vector<int> b(m); for(int&i:b)cin>>i; if(m == 1){ if(k > 1){ cout<<"Impossible"<<endl; return; } int s = 0; for(int i:a)s += i; if(s>b[0]){ cout<<"Impossible"<<endl; return; } else { cout<<b[0]-s<<endl; return; } } else { if(k > 2){ cout<<"Impossible"<<endl; return; } int s = 0; for(int i:a)s += i; if(s>b[0]+b[1]){ cout<<"Impossible"<<endl; return; } if(k == 1){ if(b[0] >= s && b[1] >= s){ cout<<min(b[0], b[1])-s<<endl; } else if(b[0] >= s){ cout<<b[0]-s<<endl; } else if(b[1] >= s){ cout<<b[1]-s<<endl; } else { cout<<b[0]+b[1]-s<<endl; } } else { if(b[0]<n || b[1]<n){ cout<<"Impossible"<<endl; return; } else { cout<<b[0]+b[1]-s<<endl; return; } } } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int _t = 1; #ifdef MULTI_TEST_CASE cin >> _t; #endif for(int _i = 0; _i < _t; _i++){ #ifdef TEST_TEXT cout<<"Case #"<<_i+1<<": "; #endif solve(); } 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...