제출 #1282575

#제출 시각아이디문제언어결과실행 시간메모리
1282575Jawad_Akbar_JJXylophone (JOI18_xylophone)C++20
0 / 100
1 ms336 KiB
#include <iostream> #include "xylophone.h" using namespace std; int a[1<<16]; void solve(int n){ a[1] = n + n; int Min = 1, cur = 1; while (cur < n){ int d = query(cur, cur + 1), dd; if (Min == 1) a[cur + 1] = a[cur] + d; else a[cur + 1] = a[cur] - d; if (cur == n - 1) break; dd = query(cur, cur + 2); Min = Min ^ (dd == d); cur++; } int Mn = a[1] - 1, id1, idn; for (int i=1;i<=n;i++) Mn = min(Mn, a[i] - 1); for (int i=1;i<=n;i++){ a[i] -= Mn; if (a[i] == 1) id1 = i; if (a[i] == n) idn = i; } for (int i=1;i<=n;i++) answer(i, a[i] + (n + 1 - 2 * a[i]) * (id1 > idn)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...