Submission #702900

#TimeUsernameProblemLanguageResultExecution timeMemory
702900siewjhXylophone (JOI18_xylophone)C++17
100 / 100
103 ms436 KiB
#include "xylophone.h" #include <bits/stdc++.h> using namespace std; static int A[5000]; void solve(int N) { vector<int> a2(N), a3(N); for (int i = 1; i <= N - 1; i++) a2[i] = query(i, i + 1); for (int i = 1; i <= N - 2; i++) a3[i] = query(i, i + 2); vector<int> ans(N + 1); ans[1] = 1; ans[2] = ans[1] + a2[1]; int minv = N + 1, minind, maxv = 0, maxind; for (int i = 3; i <= N; i++){ if (ans[i - 2] > ans[i - 1]){ if (a2[i - 2] + a2[i - 1] == a3[i - 2]) ans[i] = ans[i - 1] - a2[i - 1]; else ans[i] = ans[i - 1] + a2[i - 1]; } else { if (a2[i - 2] + a2[i - 1] == a3[i - 2]) ans[i] = ans[i - 1] + a2[i - 1]; else ans[i] = ans[i - 1] - a2[i - 1]; } } for (int i = 1; i <= N; i++) { if (ans[i] < minv){ minv = ans[i]; minind = i; } if (ans[i] > maxv){ maxv = ans[i]; maxind = i; } } for (int i = 1; i <= N; i++) ans[i] -= (minv - 1); if (minind > maxind){ for (int i = 1; i <= N; i++) ans[i] = N + 1 - ans[i]; } for (int i = 1; i <= N; i++) { answer(i, ans[i]); } }

Compilation message (stderr)

xylophone.cpp:4:12: warning: 'A' defined but not used [-Wunused-variable]
    4 | static int A[5000];
      |            ^
xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:34:5: warning: 'maxind' may be used uninitialized in this function [-Wmaybe-uninitialized]
   34 |     if (minind > maxind){
      |     ^~
xylophone.cpp:34:5: warning: 'minind' 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...