Submission #219032

#TimeUsernameProblemLanguageResultExecution timeMemory
219032VastoLorde95Swap (BOI16_swap)C++14
0 / 100
5 ms384 KiB
#include <bits/stdc++.h> using namespace std; vector<int> v; int n; void dfs(int x) { int l = x << 1; int r = l + 1; if (l > n) return; if (r > n) { if (v[x] > v[l]) { swap(v[x], v[l]); return; } } if (v[l] < v[x] and v[l] < v[r]) { swap(v[x], v[l]); } else if (v[r] < v[l] and v[r] < v[x]) { swap(v[x], v[r]); if (v[x] > v[l]) { swap(v[x], v[l]); } } dfs(l); dfs(r); return; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n; v.resize(n+1); for (int i = 1; i <= n; i++) { cin >> v[i]; } dfs(1); for (int i = 1; i <= n; i++) { cout << v[i] << ' '; } cout << endl; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...