Submission #505148

#TimeUsernameProblemLanguageResultExecution timeMemory
505148tengiz05Xylophone (JOI18_xylophone)C++17
100 / 100
122 ms540 KiB
#include "xylophone.h" #include <bits/stdc++.h> static int a[5005]; void solve(int n) { a[2] = query(1, 2); for (int i = 3; i <= n; i++) { int x = query(i - 1, i); int y = query(i - 2, i); if (x + abs(a[i - 2] - a[i - 1]) == y) { if (a[i - 2] > a[i - 1]) { a[i] = a[i - 1] - x; } else { a[i] = a[i - 1] + x; } } else { if (a[i - 2] > a[i - 1]) { a[i] = a[i - 1] + x; } else { a[i] = a[i - 1] - x; } } } if (std::min_element(a + 1, a + n + 1) > std::max_element(a + 1, a + n + 1)) { for (int i = 1; i <= n; i++) { a[i] = -a[i]; } } int x = *std::min_element(a + 1, a + n + 1); for (int i = 1; i <= n; i++) { answer(i, a[i] - x + 1); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...