#include <bits/stdc++.h>
#include "xylophone.h"
using namespace std;
void solve(int N) {
vector<int>v(N + 1);
v[1] = N;
int d = query(1,2);
v[2] = N - d;
for (int i = 3; i <= N;++i) {
int a = query(i - 2,i);
d = abs(v[i - 1] - v[i - 2]);
//cout << d << ' ' << a << ' ' << v[i - 1] << ' ' << v[i - 2] << ' ' << i << '\n';
if (d == a) {
int dif = query(i - 1,i);
if (v[i - 1] > v[i - 2]) {
v[i] = v[i - 1] - dif;
}
else
v[i] = v[i - 1] + dif;
}
else {
int r = abs(v[i - 1] - v[i - 2]);
int dif = query(i - 1,i);
if (dif + r == a) {
if (v[i - 1] > v[i - 2])
v[i] = v[i - 1] + dif;
else
v[i] = v[i - 1] - dif;
}
else {
if (v[i - 2] > v[i - 1])
v[i] = v[i - 1] + dif;
else
v[i] = v[i - 1] - dif;
}
}
}
int mn = v[1];
for (int i = 1; i <= N;++i)
mn = min(mn,v[i]);
for (int i = 1; i <= N;++i)
answer(i,v[i] - mn + 1);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |