Submission #757962

#TimeUsernameProblemLanguageResultExecution timeMemory
757962roCatalystGym Badges (NOI22_gymbadges)C++14
9 / 100
418 ms5500 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { int N; cin >> N; vector<int> X; for (int i = 0; i < N; i++) { int Xi; cin >> Xi; X.push_back(Xi); } vector<int> L; for (int i = 0; i < N; i++) { int Li; cin >> Li; L.push_back(Li); } if (N > 10) { int ans = 0; sort(X.begin(),X.end()); ll currLevel = 0; ll cap = L.back(); vector<int>::iterator p = X.begin(); while ((currLevel <= cap)&&(p!=X.end())) { ans++; currLevel += *p; p++; } cout << ans << endl; } else { int ans = 0; vector<pair<int,int>> pq; for (int i = 0; i < N; i++) { pq.push_back(make_pair(X[i],L[i])); } sort(pq.begin(),pq.end()); for(int i = 0; i < N; i++) { int currAns = 0; ll currLevel = 0; for (int j = i; j < N; j++) { if (currLevel > pq[j].second) { j++; } else { currAns++; currLevel += pq[j].first; } } ans = max(ans,currAns); } cout << ans << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...