find(int s, int d, int cnt) // 从 s 开始步长为 t 的 cnt 个数中找 k { if(cnt == 1) return s; if(cnt == 2) return s==k ? s+d : s; if((k-s)/d%2 == 0) return find(s, 2*d, (cnt+1)/2); else return find(s+d, 2*d, cnt/2); } find(1, 1, n)