Submission #1177561

#TimeUsernameProblemLanguageResultExecution timeMemory
1177561VMaksimoski008Gym Badges (NOI22_gymbadges)C++20
100 / 100
264 ms6564 KiB
#include <bits/stdc++.h> #define ar array using namespace std; using ll = long long; bool cmp(ar<int, 2> a, ar<int, 2> b) { return a[0] + a[1] < b[0] + b[1]; } signed main() { int n; cin >> n; vector<ar<int, 2> > a(n+1); for(int i=1; i<=n; i++) cin >> a[i][0]; for(int i=1; i<=n; i++) cin >> a[i][1]; sort(a.begin()+1, a.end(), cmp); ll ans = 0, sum = 0; priority_queue<int> pq; for(int i=1; i<=n; i++) { if(sum <= a[i][1]) { ans++; sum += a[i][0]; pq.push(a[i][0]); } else if(pq.top() > a[i][0]) { sum += a[i][0] - pq.top(); pq.pop(); pq.push(a[i][0]); } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...