제출 #551798

#제출 시각아이디문제언어결과실행 시간메모리
551798QwertyPiXylophone (JOI18_xylophone)C++14
0 / 100
1 ms256 KiB
#include "xylophone.h" #include <bits/stdc++.h> static int A[5000]; int d[5000], sg[5001]; using namespace std; void solve(int N) { for(int i = 1; i <= N - 1; i++){ d[i] = query(i, i + 1); } sg[1] = 1; int cur_val = d[1]; for(int i = 2; i <= N - 1; i++){ int val = query(1, i + 1); if(abs(cur_val + d[i]) == val){ sg[i] = 1; cur_val += d[i]; }else{ sg[i] = -1; cur_val -= d[i]; } } A[1] = 1; for(int i = 2; i <= N; i++){ A[i] = A[i - 1] + d[i - 1] * sg[i - 1]; } int mn = N + 1; for(int i = 1; i <= N; i++){ mn = min(A[i], mn); } for(int i = 1; i <= N; i++){ A[i] += 1 - mn; } if(A[1] > A[N]){ for(int i = 1; i <= N; i++){ A[i] = N + 1 - i; } } for(int i = 1; i <= N; i++) { answer(i, A[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...