Submission #69337

#TimeUsernameProblemLanguageResultExecution timeMemory
69337ekremXylophone (JOI18_xylophone)C++98
0 / 100
3 ms420 KiB
#include <bits/stdc++.h> #include "xylophone.h" #define st first #define nd second #define mp make_pair #define pb push_back #define NMAX 1000005 using namespace std; // static const int N_MAX = 5000; // static const int Q_MAX = 10000; // static int N; // static int A[N_MAX]; // static bool used[N_MAX]; // static int query_c; // static int answer_c; // int query(int s, int t) { // if(query_c >= Q_MAX) { // printf("Wrong Answer\n"); // exit(0); // } // query_c++; // if(!(1 <= s && s <= t && t <= N)) { // printf("Wrong Answer\n"); // exit(0); // } // int mx = 0, mn = N + 1; // for(int i = s - 1; i < t; i++) { // if(mx < A[i]) { // mx = A[i]; // } // if(mn > A[i]) { // mn = A[i]; // } // } // return mx - mn; // } // void answer(int i, int a) { // answer_c++; // if(!(1 <= i && i <= N)) { // printf("Wrong Answer\n"); // exit(0); // } // if(!(1 <= a && a <= N)) { // printf("Wrong Answer\n"); // exit(0); // } // if(used[i - 1]) { // printf("Wrong Answer\n"); // exit(0); // } // if(a != A[i - 1]) { // printf("Wrong Answer\n"); // exit(0); // } // used[i - 1] = true; // // cout << a << " oldu" << endl; // } int a[NMAX], v[NMAX]; void solve(int n) { int i = 1; while(query(i, n) == n - 1)i++;i--; answer(i, 1); a[i] = 1; v[1] = 1; for(int j = i - 1; j >= 1; j--){ int cvp = query(j, j + 1); int p1 = a[j + 1] + cvp; int p2 = a[j + 1] - cvp; int son = -1; if(p1 < 1 or p1 > n or v[p1]) son = p2; else if(p2 < 1 or p2 > n or v[p2]) son = p1; answer(j, son); a[j] = son; v[son] = 1; } for(int j = i + 1; j <= n; j++){ int cvp = query(j - 1, j); int p1 = a[j - 1] + cvp; int p2 = a[j - 1] - cvp; int son = -1; if(p1 < 1 or p1 > n or v[p1]) son = p2; else if(p2 < 1 or p2 > n or v[p2]) son = p1; answer(j, son); a[j] = son; v[son] = 1; } } // int main() { // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); // query_c = 0; // answer_c = 0; // if(scanf("%d", &N) != 1) { // fprintf(stderr, "Error while reading input\n"); // exit(1); // } // for(int i = 0; i < N; i++) { // if(scanf("%d", A + i) != 1) { // fprintf(stderr, "Error while reading input\n"); // exit(1); // } // used[i] = false; // } // solve(N); // if(!(answer_c == N)) { // printf("Wrong Answer\n"); // exit(0); // } // printf("Accepted : %d\n", query_c); // }

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:69:2: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
  while(query(i, n) == n - 1)i++;i--;
  ^~~~~
xylophone.cpp:69:33: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
  while(query(i, n) == n - 1)i++;i--;
                                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...