Submission #1153981

#TimeUsernameProblemLanguageResultExecution timeMemory
1153981AndrijaMGym Badges (NOI22_gymbadges)C++20
100 / 100
117 ms12480 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define endl '\n' const int maxn=5e5+10; struct S { int x; int l; }; S a[maxn]; bool cmp(S a,S b) { if(a.l==b.l) { return a.x<b.x; } return a.l<b.l; } signed main() { ios::sync_with_stdio(0); int n; cin>>n; priority_queue<int>Q; for(int i=0;i<n;i++) { cin>>a[i].x; } for(int i=0;i<n;i++) { cin>>a[i].l; a[i].l+=a[i].x; } sort(a,a+n,cmp); int sum=0; for(int i=0;i<n;i++) { ///cout<<a[i].x<<" "<<a[i].l<<endl; if(sum+a[i].x<=a[i].l) { sum+=a[i].x; Q.push(a[i].x); continue; } int mx=Q.top(); if(mx>a[i].x) { Q.pop(); Q.push(a[i].x); sum-=mx; sum+=a[i].x; } } cout<<Q.size()<<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...