Submission #1252231

#TimeUsernameProblemLanguageResultExecution timeMemory
1252231magic_tripSwap (BOI16_swap)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma optimize("unroll-loops") #define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define all(x) x.begin(), x.end() #define rll(x) x.rbegin(), x.rend() #define COMP(x) x.erase(unique(all(x)), x.end()) #define MOD 1000000007 #define MOD2 998244353 #define sz(x) (ll)x.size() typedef __int128_t lll; typedef long long ll; typedef unsigned long long ull; typedef long double ld; typedef pair<ll,ll> pll; typedef pair<ll, pll> PP; const ll Lnf = 2e18; ll n; vector<ll> v; ll V(ll x){ if(x>n)return Lnf; return v[x]; } int main(){ fast; cin>>n; v.resize(n+1); for(int i = 1 ; i <= n ; i++){ cin>>v[i]; } for(int i = 2 ; i <= n ; i+=2){ // for(int i = 1 ; i <= n ; i++)cout<<v[i]<<" \n"[i==n]; if(i==n){ if(v[i/2] > v[i])swap(v[i],v[i/2]); break; } ll x = i/2, a = i, b = i+1; if(min({v[a],v[b],v[x]}) == v[a]){ swap(v[x],v[a]); } if(min({v[a],v[b],v[x]}) == v[b]){ swap(v[x],v[b]); if(min({v[a],V(a*2),V(a*2+1)}) > v[b])swap(v[a],v[b]); continue; } } for(int i = 1 ; i <= n ; i++)cout<<v[i]<<" "; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...