#include "xylophone.h"
#include<bits/stdc++.h>
using namespace std;
static int A[5000];
void solve(int N) {
vector<int>v;
for(int i = 1; i<N; i++){
v.push_back(query(i, i+1));
}
vector<int>w;
for(int i = 1; i<N-1; i++){
v.push_back(query(i, i+2));
}
vector<int>sgn(N-1, 1);
for(int i = 0; i<N-2; i++){
if(w[i] == v[i] + v[i+1])sgn[i+1] = sgn[i];
else sgn[i+1] = -sgn[i];
}
vector<int> nums(N);
for(int i = 1; i<N; i++){
if(sgn[i-1] == 1){
nums[i] = nums[i-1] + v[i];
}
else nums[i] = nums[i-1] - v[i];
}
int mxd = 0;
int mx = -1;
int mnd = 0;
int mn = 1e9;
for(int i = 0; i<N; i++){
if(nums[i] < mn){
mn = nums[i];
mnd = i;
}
if(nums[i] > mx){
mx = nums[i];
mxd = i;
}
}
if(mnd > mxd){
for(int i = 0; i<N-1; i++)sgn[i] = -sgn[i];
}
nums[0] = 0;
for(int i = 1; i<N; i++){
if(sgn[i-1] == 1){
nums[i] = nums[i-1] + v[i];
}
else nums[i] = nums[i-1] - v[i];
}
mxd = 0;
mx = -1;
mnd = 0;
mn = 1e9;
for(int i = 0; i<N; i++){
if(nums[i] < mn){
mn = nums[i];
mnd = i;
}
if(nums[i] > mx){
mx = nums[i];
mxd = i;
}
}
for(int i = 0; i<N; i++){
nums[i] -= mn;
nums[i]++;
}
for(int i = 1; i <= N; i++) {
answer(i, nums[i-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... |