Submission #1226733

#TimeUsernameProblemLanguageResultExecution timeMemory
1226733MatthewwwwCandies (JOI18_candies)C++17
0 / 100
3 ms576 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define f first #define s second #ifdef LOCAL #define err cerr #else #define err if (0) cerr #endif signed main (signed argc, char **argv) { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; map<int, int> mp; set<pair<int, int>> st; for (int i = 0, a; i < n; i++) { cin >> a; mp[i] = a; st.insert({a, i}); } int ans = 0; for (int i = 0; i < n/2+n%2; i++) { auto f = *--st.end(); st.erase(--st.end()); ans += f.f; auto it = mp.find(f.s); int v = -(*it).s; if (it != mp.begin()) { --it; v += (*it).s; st.erase({(*it).s, (*it).f}); mp.erase(it); } it = mp.find(f.s); if (++it != mp.end()) { v += (*it).s; st.erase({(*it).s, (*it).f}); mp.erase(it); } mp.erase(mp.find(f.s)); mp[f.s] = v; st.insert({v, f.s}); cout << ans << "\n"; } } /* * * ┏┓ ┏┓+ + * ┏┛┻━━━┛┻┓ + + * ┃ ━ ┃ ++ + + + * ████━████+ * ◥██◤ ◥██◤ + * ┃ ┻ ┃ * ┗━┓ ┏━┛ + + * ┃ ┃ + + + +Code is far away from * ┃ ┃ + bug with the llama protecting * ┃ ┗━━━┓ 神兽保佑,代码无bug * ┃ ┣┓ * ┃ ┏┛ * ┗┓┓┏━┳┓┏┛ + + + + * ┃┫┫ ┃┫┫ * ┗┻┛ ┗┻┛+ + + + */ //thanks cindy
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...