답안 #566061

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
566061 2022-05-21T17:41:52 Z Waratpp123 Swap (BOI16_swap) C++14
0 / 100
0 ms 212 KB
#include<bits/stdc++.h>
using namespace std;
int a[200010],n,d;
int play(int i,int k){
    if(2*i>n) return i;
    int l=2*i;
    int r=2*i+1;
    if(a[i]<a[l]&&a[i]<a[r]) return i;
    if(a[i]>a[l]&&a[r]>a[l]) {
        return play(l,k);
    }
    int pl=play(l,k),pr=play(r,k);
    if(pl<pr) d=l;
    else d=r;
    return min(pl,pr);

}
int main(){
    int i,l,r,x,y,j;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d",&a[i]);
    }
    if(n%2==0) a[n+1]=99999999;
    for(i=1;2*i<=n;i++){
        l=2*i;
        r=2*i+1;
        if(a[i]<a[l]&&a[i]<a[r]) continue;
        if(a[l]<a[i]&&a[r]>a[l]) {
            swap(a[i],a[l]);
            continue;
        }
        x=min(a[l],a[i]);
        y=max(a[l],a[i]);
        a[i]=a[r];
        play(i,x);
        if(d==l) a[l]=x,a[r]=y;
        else a[l]=y,a[r]=x;
    }
    for(i=1;i<=n;i++){
        printf("%d ",a[i]);
    }
return 0;
}

Compilation message

swap.cpp: In function 'int main()':
swap.cpp:19:19: warning: unused variable 'j' [-Wunused-variable]
   19 |     int i,l,r,x,y,j;
      |                   ^
swap.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |     scanf("%d",&n);
      |     ~~~~~^~~~~~~~~
swap.cpp:22:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   22 |         scanf("%d",&a[i]);
      |         ~~~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -