Submission #416401

#TimeUsernameProblemLanguageResultExecution timeMemory
416401NintsiChkhaidzeXylophone (JOI18_xylophone)C++14
100 / 100
101 ms448 KiB
#include <iostream> #include "xylophone.h" using namespace std; int a[5005]; void solve(int n) { a[1] = 0,a[2] = query(1,2); int x = a[2]; for (int i=2;i<n;i++){ int y = query(i,i+1),z = query(i-1,i+1); if (x + y == z){ if (a[i] > a[i - 1]) a[i + 1] = a[i] + y; else a[i + 1] = a[i] - y; } else{ if (a[i] > a[i - 1]) a[i + 1] = a[i] - y; else a[i + 1] = a[i] + y; } x = y; } int ind1=0,ind2=0,maxx = -1e9,minn = 1e9; for (int i=1;i<=n;i++){ if (a[i] < minn) ind1 = i,minn = a[i]; if (a[i] > maxx) ind2 = i,maxx = a[i]; } if (ind2 < ind1){ for (int i=1;i<=n;i++) a[i] = -a[i]; minn = -maxx; } for (int i=1;i<=n;i++) answer(i,a[i] + 1 - minn); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...