#include #include #include using namespace std; int main(){ int n; cin >> n; queue q; int dist[n+1]; int i; for(i=1;i0;i=i>>1){ speed += i%2; } //push int v[] = {1, -1}; int pos; for(i=0;i<2;i++){ pos = qf + v[i] * speed; if( 1<= pos && pos <= n && dist[pos] == -1 ){ q.push( pos ); dist[pos] = dist[qf] + 1; } } } cout << dist[n] << endl; return 0; }