Submission #219032

# Submission time Handle Problem Language Result Execution time Memory
219032 2020-04-03T12:00:08 Z VastoLorde95 Swap (BOI16_swap) C++14
0 / 100
5 ms 384 KB
#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 time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 5 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -