Codeforces Round #594 DIV2 D1問題 (750pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N;
char S[300002];
int sz, lis[300002];
{
int k, mn, y, f, cnt;
int res, res1, res2, ini;
rd(N,S);
k = mn = 0;
rep(i,N){
if[S[i]=='(', k++, k--];
mn <?= k;
}
if(k){
wt(0);
wt(1,1);
return 0;
}
k = 0;
res = res1 = res2 = 0;
rep(i,N){
if[S[i]=='(', k++, k--];
if(k==mn) res++, lis[sz++] = i;
}
ini = res;
rep(m,sz){
k = 0;
y = if[m==sz-1, lis[0] + N, lis[m+1]];
f = -1;
rep(i,lis[m]+1,y){
if[S[i%N]=='(', k++, k--];
if(k<2) f=-1, cnt=0;
if(k==2 && f==-1) f = i;
if(k==2) cnt++;
if(k==2 && ini+cnt > res){
res = ini+cnt;
res1 = f%N;
res2 = (i+1)%N;
}
}
}
rep(m,sz){
k = 0;
y = if[m==sz-1, lis[0] + N, lis[m+1]];
cnt = 0;
rep(i,lis[m]+1,y){
if[S[i%N]=='(', k++, k--];
if(k==1) cnt++;
}
if(cnt > res){
res = cnt;
res1 = (lis[m]+1) % N;
res2 = y % N;
}
}
wt(res);
wt(res1+1,res2+1);
}
Current time: 2024年03月28日21時47分15秒
Last modified: 2019年11月03日21時27分13秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF594 CF_Div2_D
トップページに戻る
Logged in as: unknown user (not login)