이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 2e5;
int v[2 * MAX_N + 2], minn[MAX_N + 1];
int main() {
int n;
cin >> n;
for ( int i = 1; i <= n; i++ )
cin >> v[i];
for ( int i = n + 1; i <= 2 * n + 1; i++ )
v[i] = n + 1;
for ( int i = 1; i <= n; i++ )
minn[i] = min( v[i], min( v[2 * i], v[2 * i + 1] ) );
for ( int i = 1; i <= n; i++ ) {
if ( v[2 * i] == minn[i] )
swap( v[i], v[2 * i] );
else if ( v[2 * i + 1] == minn[i] ) {
if ( min( v[i], v[2 * i] ) < minn[2 * i] ) {
if ( v[i] < v[2 * i] )
swap( v[i], v[2 * i] );
} else {
if ( v[2 * i] < v[i] )
swap( v[i], v[2 * i] );
}
swap( v[i], v[2 * i + 1] );
}
}
for ( int i = 1; i <= n; i++ )
cout << v[i] << " ";
return 0;
}
# | 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... |