제출 #1123471

#제출 시각아이디문제언어결과실행 시간메모리
1123471AvianshGym Badges (NOI22_gymbadges)C++20
42 / 100
2095 ms78512 KiB
#include <bits/stdc++.h> using namespace std; signed main(){ ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; array<int,3>arr[n]; for(int i = 0;i<n;i++){ cin >> arr[i][2]; } for(int i = 0;i<n;i++){ cin >> arr[i][1]; } //sum,l,x for(int i = 0;i<n;i++){ arr[i][0]=arr[i][1]+arr[i][2]; } sort(arr,arr+n); int ans = 0; vector<pair<int,priority_queue<int>>>lis; lis.push_back({arr[0][2],priority_queue<int>()}); lis[0].second.push(arr[0][2]); for(int i = 1;i<n;i++){ bool skip=0; if(lis.back().first<=arr[i][1]){ lis.push_back(lis.back()); lis.back().first+=arr[i][2]; lis.back().second.push(arr[i][2]); skip=1; } for(int j = 0;j<lis.size()-skip;j++){ lis[j].first+=arr[i][2]; lis[j].second.push(arr[i][2]); lis[j].first-=lis[j].second.top(); lis[j].second.pop(); } } cout << lis.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...