#include "xylophone.h"
#include <bits/stdc++.h>
#define ii pair<int, int>
#define fi first
#define se second
#define inf 0x3f3f3f3f3f3f3f3f
using namespace std;
using ll = long long;
const ll mod=1e9+7;
const int nx=5005;
// int query(int s, int t)
// {
// cout<<s<<' '<<t<<'\n';
// int v;
// cin>>v;
// return v;
// }
// void answer(int i, int a)
// {
// cout<<a<<' ';
// }
void solve(int n)
{
vector<int> d1(n+1), d2(n+1), d(n+1, 0);
vector<bool> ok(n+1);
for(int i = 1; i < n; i++)
d1[i]=query(i, i+1);
for(int i = 1; i < n-1; i++)
d2[i]=query(i, i+2);
for(int i = 2; i < n; i++)
ok[i]=(d1[i-1]+d1[i]==d2[i-1]);
int sus=-1;
d[1]=0;
d[2]=sus*d1[1];
for(int i = 3; i <= n; i++)
{
if(!ok[i-1]) sus*=-1;
d[i]=d[i-1]+sus*d1[i-1];
}
int mi=0;
for(int i = 1; i <= n; i++)
mi=min(mi, d[i]);
int p1, pn;
for(int i = 1; i <= n; i++)
{
d[i]=d[i]-mi+1;
if(d[i]==1) p1=i;
if(d[i]==n) pn=i;
}
if(p1<pn)
{
for(int i = 1; i <= n; i++)
answer(i, d[i]);
return;
}
sus=1;
d[1]=0;
d[2]=sus*d1[1];
for(int i = 3; i <= n; i++)
{
if(!ok[i-1]) sus*=-1;
d[i]=d[i-1]+sus*d1[i-1];
}
mi=0;
for(int i = 1; i <= n; i++)
mi=min(mi, d[i]);
p1, pn;
for(int i = 1; i <= n; i++)
{
d[i]=d[i]-mi+1;
if(d[i]==1) p1=i;
if(d[i]==n) pn=i;
}
if(p1<pn)
{
for(int i = 1; i <= n; i++)
answer(i, d[i]);
return;
}
assert(0);
}
// int main()
// {
// // ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
// solve(5);
// }
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |