Submission #709625

#TimeUsernameProblemLanguageResultExecution timeMemory
709625Spade1Xylophone (JOI18_xylophone)C++14
0 / 100
2 ms384 KiB
#include <bits/stdc++.h> //#include "grader.cpp" #include "xylophone.h" using namespace std; int Ar[5050]; bool mark[5050]; void solve(int N) { int idx; int l = 1, r = N; while (l < r) { int mid = (l+r)/2; if (query(mid+1, N) == N-1) l = mid+1; else r = mid; } idx = l; Ar[idx] = 1; mark[idx]; // l = idx1+1, r = N; // while (l < r) { // int mid = (l+r)/2; // if (query(1, mid) == N-1) r = mid; // else l = mid+1; // } // idxn = l; for (int i = idx+1; i <= N; ++i) { int dif = query(i-1, i), cur; if (Ar[i-1]+dif>N || mark[Ar[i-1]+dif]) { cur = Ar[i-1]-dif; } else if (Ar[i-1]-dif<1 || mark[Ar[i-1]-dif]) { cur = Ar[i-1]+dif; } else { int dif2 = query(i-2, i); if (Ar[i-2] > Ar[i-1]+dif){ if (Ar[i-2] - Ar[i-1] == dif2) cur = Ar[i-1]+dif; } if (Ar[i-2] < Ar[i-1]+dif) { if (Ar[i-1]+dif - min(Ar[i-2], Ar[i-1]) == dif2) cur = Ar[i-1]+dif; } if (Ar[i-2] > Ar[i-1]-dif){ if (max(Ar[i-2], Ar[i-1]) - Ar[i-1]+dif == dif2) cur = Ar[i-1]-dif; } if (Ar[i-2] < Ar[i-1]-dif) { if (Ar[i-1] - Ar[i-2] == dif2) cur = Ar[i-1]-dif; } } Ar[i] = cur; mark[cur] = 1; } for (int i = idx-1; i >= 1; --i) { int dif = query(i, i+1), cur; if (Ar[i+1]+dif>N || mark[Ar[i+1]+dif]) { cur = Ar[i+1]-dif; } else if (Ar[i+1]-dif<1 || mark[Ar[i+1]-dif]) { cur = Ar[i+1]+dif; } else { int dif2 = query(i-2, i); if (Ar[i+2] > Ar[i+1]+dif){ if (Ar[i+2] - Ar[i+1] == dif2) cur = Ar[i+1]+dif; } if (Ar[i+2] < Ar[i+1]+dif) { if (Ar[i+1]+dif - min(Ar[i+2], Ar[i+1]) == dif2) cur = Ar[i+1]+dif; } if (Ar[i+2] > Ar[i+1]-dif){ if (max(Ar[i+2], Ar[i+1]) - Ar[i+1]+dif == dif2) cur = Ar[i+1]-dif; } if (Ar[i+2] < Ar[i+1]-dif) { if (Ar[i+1] - Ar[i+2] == dif2) cur = Ar[i=1]-dif; } } Ar[i] = cur; mark[cur] = 1; } for (int i = 1; i <= N; ++i) { answer(i, Ar[i]); } }

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:19:13: warning: statement has no effect [-Wunused-value]
   19 |     mark[idx];
      |     ~~~~~~~~^
xylophone.cpp:78:15: warning: 'cur' may be used uninitialized in this function [-Wmaybe-uninitialized]
   78 |         Ar[i] = cur;
      |         ~~~~~~^~~~~
xylophone.cpp:51:15: warning: 'cur' may be used uninitialized in this function [-Wmaybe-uninitialized]
   51 |         Ar[i] = cur;
      |         ~~~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...