# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
743651 | sword060 | Xylophone (JOI18_xylophone) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "xylophone.h"
#include <bits/stdc++.h>
using namespace std;
void solve(int x){
int l=3,r=x,mid,bst=2;
while(l<=r){
mid=(l+r)/2;
if(query(1,mid)==x-1)r=mid-1,bst=mid;
else l=mid+1;
}
answer(bst,x);
int lst=x;
for(int i=bst+1;bst<=x;bst++){
lst=qry(i-1,i);
answer(i,lst);
}
lst=bst;
for(int i=bst-1;i>=1;i--){
lst=qry(i,i+1);
answer(i,lst);
}
}