Submission #160626

#TimeUsernameProblemLanguageResultExecution timeMemory
160626dantoh000Xylophone (JOI18_xylophone)C++14
100 / 100
130 ms564 KiB
#include "xylophone.h"

static int A[5000];

void solve(int N) {
    int dir[N+1]; dir[1] = 1;
    int diff[N+1];
    int trip[N+1];
	for (int i = 1; i < N; i++){
        diff[i] = query(i,i+1);
	}
	for (int i = 1; i < N-1; i++){
        trip[i] = query(i,i+2);
        if (trip[i] == diff[i]+diff[i+1]){
            dir[i+1] = dir[i];
        }
        else{
            dir[i+1] = -1*dir[i];
        }
    }
    int ans[N]; ans[1] = 1;
    int ma = 1, mi = 1;
    int maid, miid;
    for (int i = 2; i <= N; i++){
        ans[i] = ans[i-1] + dir[i-1]*diff[i-1];
        if (ans[i] > ma){
            ma = ans[i];
            maid = i;
        }
        if (ans[i] < mi){
            mi = ans[i];
            miid = i;
        }
    }
    int offset = N-ma;
	for(int i = 1; i <= N; i++) {
        ans[i] += offset;
        if (maid < miid){
            ans[i] = N+1-ans[i];
        }
		answer(i, ans[i]);
	}

}

Compilation message (stderr)

xylophone.cpp:3:12: warning: 'A' defined but not used [-Wunused-variable]
 static int A[5000];
            ^
xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:38:9: warning: 'maid' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if (maid < miid){
         ^~
xylophone.cpp:38:9: warning: 'miid' may be used uninitialized in this function [-Wmaybe-uninitialized]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...