#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
#define all(x) begin(x), end(x)
#define forn(i, n) for (int i = 0; i < int(n); i++)
#define forsn(i, s, n) for (int i = int(s); i < int(n); i++)
void solve(int N) {
vi diff(N - 1);
forn(i, N - 1) diff[i] = query(i + 1, i + 2);
vi type(N - 1, 0);
forsn(i, 1, N - 1) {
if (diff[i - 1] + diff[i] == query(i, i + 2)) type[i] = type[i - 1];
else type[i] = type[i - 1] ^ 1;
}
forn(_, 2) {
forn(i, N - 1) type[i] ^= 1;
vi ret(N);
ret[0] = 0;
forn(i, N - 1) {
if (type[i]) ret[i + 1] = ret[i] + diff[i];
else ret[i + 1] = ret[i] - diff[i];
}
int mini = int(min_element(all(ret)) - begin(ret));
int maxi = int(max_element(all(ret)) - begin(ret));
assert(mini != maxi);
if (mini > maxi) continue;
int offset = 1 - ret[mini];
forn(i, N) ret[i] += offset;
forn(i, N) answer(i + 1, ret[i]);
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |