AtCoder Regular Contest 098
AtCoder Beginner Contest 098
問題文 (ARC)
問題文 (ABC)
省略
省略
C++に変換後のコードはこちら
int N, A[2d5];
int cnt[20];
int isok(int x){
rep(i,20) if( (x&1<<i) && cnt[i] ) return 0;
return 1;
}
void add(int x, int v){
rep(i,20) if(x&1<<i) cnt[i] += v;
}
{
int i, j;
ll res = 0;
rd(N,A(N));
j = 0;
rep(i,N){
while(j < N && isok(A[j])) add(A[j++], 1);
res += j - i;
add(A[i], -1);
}
wt(res);
}
Current time: 2024年04月27日05時10分08秒
Last modified: 2019年08月26日08時59分33秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest AtCoder_Beginner_Contest ARC098 ABC098 ARC_B ABC_D
トップページに戻る
Logged in as: unknown user (not login)