제출 #745974

#제출 시각아이디문제언어결과실행 시간메모리
745974vjudge1Kitchen (BOI19_kitchen)C++17
20 / 100
59 ms324 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const ll MOD = 1e9+7; #define IMPOSSIBLE {cout<<"Impossible"<<endl;return 0;} int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, m, k; cin>>n>>m>>k; int s = 0; for(int i = 0; i < n; i++){ int a; cin>>a;s += a; } vector<bool> v(90001); v[0] = true; int mx = 1e9; for(int i = 0; i < m; i++){ int b; cin>>b; for(int j = 90000; j-b >= 0; j--){ if(v[j-b])v[j]=true; if(v[j] && j >= s){ mx = min(mx, j); } } } if(mx == 1e9)IMPOSSIBLE else { cout<<mx-s<<endl; } // int n, m, k; cin>>n>>m>>k; // vector<int> a(n); // int s = 0; // for(int&i:a){cin>>i;s += i;} // vector<int> b(m); // int sb = 0; // for(int&i:b){cin>>i;sb += i;} // if(k > m) IMPOSSIBLE // for(int i : a){ // if(i < k) IMPOSSIBLE; // } // if(s > sb) IMPOSSIBLE; // if(m == 1){ // cout<<sb - s<<endl; // return 0; // } // if(k == 2){ // if(b[0] < n || b[1] < n)IMPOSSIBLE // cout<<b[0]+b[1]-s<<endl; // } else { // int egy = min(b[0], b[1]); // if(egy < s) cout<<sb-s<<endl; // else cout<<egy-s<<endl; // } 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...