Codeforces Round #562 DIV1 B問題 (1000pt)
Codeforces Round #562 DIV2 D問題 (2000pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N;
char S[300002];
int arr[10];
int dame[9][1000];
{
int i, j, k, ok;
int a, b, c;
ll res;
rep(N,9){
rep(k,1<<N){
rep(i,N){
if(k&1<<i) arr[i] = 1; else arr[i] = 0;
}
ok = 1;
rep(i,N) rep(j,1,N){
a = i;
b = a + j;
c = b + j;
if(c >= N) continue;
if(arr[a]==arr[b] && arr[b]==arr[c]) ok = 0;
}
if(ok==1) dame[N][k] = 1;
}
}
rd(S@N);
rep(i,N) S[i] -= '0';
res = (ll)N * (N+1) / 2;
rep(i,N){
a = 0;
rep(j,8){
if(i+j >= N) break;
a = 2a + S[i+j];
res -= dame[j+1][a];
}
}
wt(res);
}
Current time: 2024年04月19日14時37分30秒
Last modified: 2019年05月27日22時02分10秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF562 CF_Div1_B CF_Div2_D
トップページに戻る
Logged in as: unknown user (not login)