AtCoder Beginner Contest #117
問題文
省略
省略
C++に変換後のコードはこちら
int N, bt[40][2];
ll A, K;
{
int i, j, k;
ll res, cur, tmp;
rd(N,K);
rep(N){
rd(A);
rep(i,40) bt[i][ if[A&1LL<<i,1,0] ]++;
}
res = cur = 0;
for(i=39;i>=0;i--){
if(K & 1LL<<i){
tmp = cur;
tmp += ((ll)bt[i][1]) << i;
for(j=i-1;j>=0;j--) tmp += ((ll)max(bt[j][0],bt[j][1])) << j;
res >?= tmp;
cur += ((ll)bt[i][0]) << i;
} else {
cur += ((ll)bt[i][1]) << i;
}
}
res >?= cur;
wt(res);
}
Current time: 2024年03月29日16時29分47秒
Last modified: 2019年07月19日02時18分26秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC117 ABC_D
トップページに戻る
Logged in as: unknown user (not login)