# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
39799 | Pajaraja | Swap (BOI16_swap) | C++14 | 0 ms | 2996 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int p[200007];
bool lock[200007];
void swap(int a,int b)
{
int t=p[a];
p[a]=p[b];
p[b]=t;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&p[i]);
for(int i=2;i<n;i+=2)
{
if(p[i/2]<p[i] && p[i/2]<p[i+1]) swap(i,i+1);
if(p[i]<p[i/2] && p[i]<p[i+1]) swap(i,i/2);
if(p[i+1]<p[i/2] && p[i+1]<p[i]) swap(i+1,i/2);
}
if(n%2==0 && p[n]<p[n/2]) swap(n,n/2);
for(int i=1;i<=n;i++) printf("%d ",p[i]);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |