# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
743651 | 2023-05-17T15:25:17 Z | sword060 | Xylophone (JOI18_xylophone) | C++17 | 0 ms | 0 KB |
#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); } }