제출 #1163315

#제출 시각아이디문제언어결과실행 시간메모리
1163315lopkusCandies (JOI18_candies)C++20
0 / 100
1 ms576 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<int64_t> a(n + 1); for(int i = 1; i <= n; i++) { cin >> a[i]; } set<int64_t> s1, s2; int64_t sum1 = 0; int64_t sum2 = 0; for(int i = 1; i <= n; i++) { if(i & 1) { sum1 += a[i]; s1.insert(a[i]); } else { sum2 += a[i]; s2.insert(a[i]); } } vector<int64_t> ans; for(int i = (n + 1) / 2; i >= 1; i--) { int64_t mx = 0; if(s1.size() == i) { mx = max(mx, sum1); } if(s2.size() == i) { mx = max(mx, sum2); } ans.push_back(mx); if(s1.size() == i && mx == sum1) { auto it = s1.begin(); sum1 -= (*it); s1.erase(it); continue; } if(s2.size() == i && mx == sum2) { auto it = s2.begin(); sum2 -= (*it); s2.erase(it); continue; } } reverse(ans.begin(), ans.end()); for(auto x : ans) { cout << x << " "; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...