Submission #367972

#TimeUsernameProblemLanguageResultExecution timeMemory
367972chctxdy68Candies (JOI18_candies)C++17
0 / 100
2 ms620 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include <ext/rope> #pragma GCC optimize ("Ofast") #pragma GCC optimization ("unroll-loops, no-stack-protector") #pragma GCC target ("avx") #pragma GCC target ("avx2") #pragma GCC target ("fma") #define fastio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define ll long long #define ull unsigned long long #define ld long double #define pii pair <int, int> #define pll pair <ll, ll> #define pci pair <char, int> #define pld pair <ld, ld> #define ppld pair <pld, pld> #define ppll pair <pll, pll> #define pldl pair <ld, ll> #define vll vector <ll> #define vvll vector <vll> #define vpll vector <pll> #define pb push_back #define eb emplace_back #define mp make_pair #define fi first #define se second #define mll map <ll, ll> #define fastmap gp_hash_table #define cd complex <double> #define vcd vector <cd> #define PI 3.14159265358979 #define ordered_set tree <ll, null_type, less <ll>, rb_tree_tag, tree_order_statistics_node_update> #pragma 03 using namespace std; using namespace __gnu_pbds; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); ll a[200005]; set <pll> choices; ll l[200005], r[200005]; int main(){ fastio; ll n; cin >> n; for (ll i = 1; i <= n; i++){ cin >> a[i]; l[i] = i - 1; r[i] = i + 1; choices.insert(mp(-a[i], i)); } ll ans = 0; for (ll c = 0; c < (n + 1) / 2; c++){ pll mx = *choices.begin(); choices.erase(choices.begin()); ans -= mx.fi; ll id = mx.se, lf = l[id], rg = r[id]; if (lf) choices.erase(mp(-a[lf], lf)); if (rg <= n) choices.erase(mp(-a[rg], rg)); if (lf) l[id] = l[lf]; else l[id] = 0; if (rg <= n) r[id] = r[rg]; else r[id] = n + 1; if (l[id]) r[l[id]] = id; if (r[id] <= n) l[r[id]] = id; a[id] = a[lf] + a[rg] - a[id]; choices.insert(mp(-a[id], id)); cout << ans << "\n"; } }

Compilation message (stderr)

candies.cpp:6: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("unroll-loops, no-stack-protector")
      | 
candies.cpp:35: warning: ignoring #pragma 03  [-Wunknown-pragmas]
   35 | #pragma 03
      |
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...