AtCoder Beginner Contest #115
問題文
省略
省略
C++に変換後のコードはこちら
int N;
ll X;
ll sz[51], p[51];
{
int i, j, k;
ll res = 0;
rd(N,X);
sz[0] = p[0] = 1;
rep(i,1,N+1){
sz[i] = 3 + 2sz[i-1];
p[i] = 1 + 2p[i-1];
}
while(N){
X--;
if(X==0) break;
if(X < sz[N-1]){ N--; continue; }
X -= sz[N-1];
res += p[N-1];
if(X==0) break;
X--;
res++;
if(X==0) break;
if(X < sz[N-1]){ N--; continue; }
X -= sz[N-1];
res += p[N-1];
if(X==0) break;
X--;
if(X==0) break;
}
if(X==1) res++;
wt(res);
}
Current time: 2024年04月26日02時11分13秒
Last modified: 2019年07月15日22時37分46秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC115 ABC_D
トップページに戻る
Logged in as: unknown user (not login)