Submission #1151278

#TimeUsernameProblemLanguageResultExecution timeMemory
1151278LudisseyKitchen (BOI19_kitchen)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #define sz(a) (int)a.size() #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define int long long using namespace std; signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n,m,K; cin >> n >> m >> K; priority_queue<pair<int,int>> pq; vector<int> a(n); vector<int> b(m); int sum=0; for (int i = 0; i < n; i++) { cin >> a[i]; sum-=a[i]; } for (int i = 0; i < m; i++) { cin >> b[i]; sum+=b[i]; } for (int i = 0; i < m; i++) pq.push({b[i],i}); bool pos=(sum>=0); for (int i = 0; i < n; i++) { if(a[i]<K) { pos=false; break; } vector<pair<int,int>> kb; while(!pq.empty()&&sz(kb)<K){ pair<int,int> u=pq.top(); pq.pop(); if(u.first==0) break; kb.push_back(u); } if(sz(kb)!=K) { pos=false; break; } for (int i = 0; i < K; i++) { pq.push({kb[i].first-1,kb[i].second}); } } if(pos) cout << sum << "\n"; else 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...