Submission #1151100

#TimeUsernameProblemLanguageResultExecution timeMemory
1151100vicvicGym Badges (NOI22_gymbadges)C++20
0 / 100
63 ms4424 KiB
#include <iostream> #include <fstream> #include <algorithm> #include <vector> #include <set> #include <stack> using namespace std; const int NMAX=5e5; int n, l[NMAX+5], x[NMAX+5], cnt; set <int> setul; pair <int, int> dp[NMAX+5]; struct what { int x, l; } gym[NMAX+5]; int main () { ios :: sync_with_stdio (0); cin.tie (nullptr); cin >> n; for (int i=1;i<=n;i++) { cin >> gym[i].x; } for (int i=1;i<=n;i++) { cin >> gym[i].l; } sort (gym+1, gym+n+1, [] (what a, what b) {return a.l<b.l;}); int s=0; for (int i=1;i<=n;i++) { if (s<=gym[i].l) { s+=gym[i].x; setul.insert (gym[i].x); } else { auto itr=setul.end(); --itr; int val=*itr; if (val>gym[i].x) { s-=val; s+=gym[i].x; setul.erase (val); setul.insert (gym[i].x); } } } cout << setul.size(); 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...