Submission #414167

#TimeUsernameProblemLanguageResultExecution timeMemory
414167Nicholas_PatrickXylophone (JOI18_xylophone)C++17
100 / 100
130 ms376 KiB
#include "xylophone.h" #include <algorithm> using namespace std; static int A[5000]; void solve(int N) { int A[5000]; A[0]=0; A[1]=query(1, 2); for(int i=3; i<=N; i++){ int rec1=query(i-1, i); int a=A[i-2]+rec1, b=A[i-2]-rec1; if(a==A[i-3]){ A[i-1]=b; continue; } if(b==A[i-3]){ A[i-1]=a; continue; } int rec2=query(i-2, i); if(A[i-3]<A[i-2]){ A[i-1]=rec2==a-A[i-3]?a:b; }else{ A[i-1]=rec2==A[i-3]-b?b:a; } } int mi=*min_element(A, A+N); for(int i=N; i--;) A[i]=A[i]-mi+1; if(find(A, A+N, 1)-A>find(A, A+N, N)-A){ for(int i=N; i--;) A[i]=N+1-A[i]; } for(int i=0; i<N; i++) answer(i+1, A[i]); }

Compilation message (stderr)

xylophone.cpp:5:12: warning: 'A' defined but not used [-Wunused-variable]
    5 | static int A[5000];
      |            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...