답안 #139738

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
139738 2019-08-01T10:48:54 Z rzbt Xylophone (JOI18_xylophone) C++14
0 / 100
4 ms 404 KB
#include <bits/stdc++.h>
#pragma GCC optimize ("O3")
#include "xylophone.h"
using namespace std;
#define MAXN 5003
int niz[MAXN];
bool znak[MAXN];
int delta[MAXN];
void solve(int n)
{
    niz[1]=1;
    delta[2]=query(1,2);
    niz[2]=1+delta[2];

    for(int i=3;i<=n;i++){
        int x=query(i-2,i);
        delta[i]=query(i-1,i);
        int y=delta[i];

        if(x==abs(niz[i-1]-niz[i-2])){
            if(niz[i-2]<niz[i-1])niz[i]=niz[i-1]-y;
            else{
                niz[i]=niz[i-1]+y;
                znak[i]=true;
            }
        }else{
            if(niz[i-2]<niz[i-1]){
                if(x==y+abs(niz[i-1]-niz[i-2])){
                    niz[i]=niz[i-1]+y;
                    znak[i]=true;
                }
                else niz[i]=niz[i-1]-y;
            }else{
                if(x==y+abs(niz[i-1]-niz[i-2]))niz[i]=niz[i-1]-y;
                else {
                    niz[i]=niz[i-1]+y;
                    znak[i]=true;
                }
            }

        }
    }
    int mi=1;
    for(int i=1;i<=n;i++)
        if(niz[i]<niz[mi])
            mi=i;

    int ma=1;
    for(int i=1;i<=n;i++)
        if(niz[i]<niz[ma])
            ma=i;
    if(ma<mi){
        for(int i=2;i<=n;i++){
            if(znak[i])niz[i]=niz[i-1]-delta[i];
            else niz[i]=niz[i-1]+delta[i];
        }
    }
    mi=1;
    for(int i=1;i<=n;i++)
        mi=min(mi,niz[i]);
    for(int i=1;i<=n;i++)answer(i,niz[i]-mi+1);

}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 404 KB Output is correct
4 Correct 4 ms 376 KB Output is correct
5 Incorrect 3 ms 248 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 404 KB Output is correct
4 Correct 4 ms 376 KB Output is correct
5 Incorrect 3 ms 248 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 248 KB Output is correct
2 Correct 2 ms 248 KB Output is correct
3 Correct 2 ms 404 KB Output is correct
4 Correct 4 ms 376 KB Output is correct
5 Incorrect 3 ms 248 KB Wrong Answer [7]
6 Halted 0 ms 0 KB -