Submission #857527

#TimeUsernameProblemLanguageResultExecution timeMemory
857527Trisanu_DasXylophone (JOI18_xylophone)C++17
0 / 100
1 ms596 KiB
#include <bits/stdc++.h>
using namespace std;
#include "xylophone.h"
 
int a[5001];
 
void solve(int n){
  a[2] = query(1, 2);
  for(int i = 2; i < n; i++){
    int x = query(i, i + 1), y = query(i - 1, i + 1);
    a[i + 1] = a[i] + x * (a[i] - a[i - 1] < 0 ? 1 : -1) * ((y == x) + abs(a[i] - a[i - 1]) ? 1 : -1);
  }
  int mn = *min_element(a + 1, a + n + 1);
  int u, v;
  for(int i = 1; i < n + 1; i++){
    a[i] -= mn;
    if(a[i] == 0) u = i;
    if(a[i] == n - 1) v = i;
  }
  for(int i = 1; i <= n; i++) answer(i, (u < v) ? a[i] + 1 : n - a[i]);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...