提出 #67755837
ソースコード 拡げる
#include<bits/stdc++.h>
using namespace std;
constexpr int N=5e5;
constexpr int B=700;
constexpr int N_B=715;
int n,q;
string s;
int L[N+5],R[N+5],length[N+5];
int lc[N_B+5],rc[N_B+5],mc[N_B+5];
void upd(const int i,const int l,const int r){
lc[i/B]=1;
for(int j=l+1;j<=r;++j){
if(s[j]==s[j-1]) ++lc[i/B];
else break;
}
rc[i/B]=1;
for(int j=r-1;j>=l;--j){
if(s[j]==s[j+1]) ++rc[i/B];
else break;
}
int tmp=1;
for(int i=l+1;i<=r;++i){
if(s[i]!=s[i-1]) mc[i/B]=max(mc[i/B],tmp),tmp=1;
else ++tmp;
}
mc[i/B]=max(mc[i/B],tmp);
}
int query(const int l,const int r){
int res=0,tmp;
if(l/B==r/B){
tmp=1;
for(int i=l+1;i<=r;++i){
if(s[i]!=s[i-1]) res=max(res,tmp),tmp=1;
else ++tmp;
}
res=max(res,tmp);
return res;
}
upd(l/B,l,R[l/B]),upd(r/B,L[r/B],r);
res=mc[l/B],tmp=rc[l/B];
for(int i=l/B+1;i<=r/B;++i){
res=max(res,mc[i]);
if(s[L[i]]!=s[R[i-1]]){
res=max(res,tmp);
tmp=rc[i];
}
else if(lc[i]!=length[i*B+1]){
res=max(res,tmp+lc[i]);
tmp=rc[i];
}
else tmp+=lc[i];
}
res=max(res,tmp);
upd(l/B,L[l/B],R[l/B]),upd(r/B,L[r/B],R[r/B]);
return res;
}
int main(){
ios::sync_with_stdio(0);
cin>>n>>q;
cin>>s;
s=" "+s;
for(int i=1;i<=n;++i){
L[i]=i/B*B+1;
R[i]=min(i/B*B+B,n);
length[i]=R[i]-L[i]+1;
if(i%B==0){
upd(i,L[i/B],R[i/B]);
}
}
int op;
while(q--){
cin>>op;
if(op==1){
int i;char x;
cin>>i>>x;
s[i]=x;
upd(i,L[i/B],R[i/B]);
}
else if(op==2){
int l,r;
cin>>l>>r;
cout<<query(l,r)<<endl;
}
else{
cout<<"I AK IOI!!!"<<endl;
}
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Max Combo |
| ユーザ | buzhidao01 |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 0 |
| コード長 | 1705 Byte |
| 結果 | WA |
| 実行時間 | 4418 ms |
| メモリ | 9916 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 525 | ||||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt, sample_02.txt |
| All | evil_01.txt, evil_02.txt, evil_03.txt, evil_04.txt, evil_05.txt, evil_06.txt, evil_07.txt, evil_08.txt, evil_09.txt, evil_10.txt, evil_11.txt, evil_12.txt, evil_13.txt, evil_14.txt, evil_15.txt, evil_16.txt, evil_17.txt, evil_18.txt, evil_19.txt, evil_20.txt, evil_21.txt, evil_22.txt, evil_23.txt, evil_24.txt, evil_25.txt, evil_26.txt, evil_27.txt, evil_28.txt, sample_01.txt, sample_02.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| evil_01.txt | TLE | 4415 ms | 9660 KiB |
| evil_02.txt | TLE | 4415 ms | 9776 KiB |
| evil_03.txt | TLE | 4415 ms | 9700 KiB |
| evil_04.txt | TLE | 4415 ms | 9744 KiB |
| evil_05.txt | TLE | 4415 ms | 9672 KiB |
| evil_06.txt | TLE | 4415 ms | 9776 KiB |
| evil_07.txt | TLE | 4415 ms | 9776 KiB |
| evil_08.txt | TLE | 4415 ms | 9804 KiB |
| evil_09.txt | TLE | 4415 ms | 9764 KiB |
| evil_10.txt | TLE | 4415 ms | 9804 KiB |
| evil_11.txt | TLE | 4415 ms | 9764 KiB |
| evil_12.txt | TLE | 4415 ms | 9744 KiB |
| evil_13.txt | TLE | 4415 ms | 9748 KiB |
| evil_14.txt | TLE | 4415 ms | 9764 KiB |
| evil_15.txt | TLE | 4415 ms | 9672 KiB |
| evil_16.txt | TLE | 4415 ms | 9700 KiB |
| evil_17.txt | TLE | 4415 ms | 9768 KiB |
| evil_18.txt | TLE | 4415 ms | 9748 KiB |
| evil_19.txt | TLE | 4415 ms | 9804 KiB |
| evil_20.txt | TLE | 4415 ms | 9752 KiB |
| evil_21.txt | TLE | 4418 ms | 9776 KiB |
| evil_22.txt | TLE | 4415 ms | 9672 KiB |
| evil_23.txt | TLE | 4415 ms | 9752 KiB |
| evil_24.txt | TLE | 4415 ms | 9672 KiB |
| evil_25.txt | TLE | 4415 ms | 9772 KiB |
| evil_26.txt | TLE | 4415 ms | 9752 KiB |
| evil_27.txt | TLE | 4415 ms | 9804 KiB |
| evil_28.txt | TLE | 4415 ms | 9800 KiB |
| sample_01.txt | AC | 1 ms | 3456 KiB |
| sample_02.txt | AC | 1 ms | 3428 KiB |
| test_01.txt | TLE | 4415 ms | 9752 KiB |
| test_02.txt | TLE | 4415 ms | 9916 KiB |
| test_03.txt | TLE | 4415 ms | 9772 KiB |
| test_04.txt | TLE | 4415 ms | 9832 KiB |
| test_05.txt | TLE | 4415 ms | 9780 KiB |
| test_06.txt | TLE | 4415 ms | 9804 KiB |
| test_07.txt | TLE | 4415 ms | 9800 KiB |
| test_08.txt | TLE | 4418 ms | 9836 KiB |
| test_09.txt | TLE | 4415 ms | 9752 KiB |
| test_10.txt | TLE | 4415 ms | 9736 KiB |
| test_11.txt | TLE | 4415 ms | 9708 KiB |
| test_12.txt | TLE | 4415 ms | 9748 KiB |
| test_13.txt | TLE | 4418 ms | 9820 KiB |
| test_14.txt | TLE | 4415 ms | 9748 KiB |
| test_15.txt | TLE | 4411 ms | 9768 KiB |
| test_16.txt | TLE | 4415 ms | 9840 KiB |
| test_17.txt | TLE | 4415 ms | 9776 KiB |
| test_18.txt | TLE | 4415 ms | 9804 KiB |
| test_19.txt | WA | 1234 ms | 3540 KiB |
| test_20.txt | WA | 1230 ms | 3448 KiB |
| test_21.txt | WA | 772 ms | 3604 KiB |
| test_22.txt | WA | 773 ms | 3476 KiB |
| test_23.txt | WA | 808 ms | 3420 KiB |
| test_24.txt | WA | 782 ms | 3480 KiB |
| test_25.txt | WA | 1926 ms | 3560 KiB |
| test_26.txt | WA | 1364 ms | 3532 KiB |
| test_27.txt | WA | 2046 ms | 3472 KiB |
| test_28.txt | WA | 2051 ms | 3472 KiB |
| test_29.txt | TLE | 4415 ms | 9800 KiB |
| test_30.txt | TLE | 4415 ms | 9744 KiB |
| test_31.txt | TLE | 4415 ms | 9820 KiB |
| test_32.txt | TLE | 4415 ms | 9700 KiB |
| test_33.txt | TLE | 4415 ms | 9836 KiB |
| test_34.txt | TLE | 4411 ms | 9764 KiB |
| test_35.txt | TLE | 4415 ms | 9664 KiB |
| test_36.txt | TLE | 4411 ms | 9840 KiB |
| test_37.txt | TLE | 4415 ms | 9760 KiB |
| test_38.txt | TLE | 4415 ms | 9704 KiB |
| test_39.txt | TLE | 4415 ms | 9676 KiB |
| test_40.txt | TLE | 4415 ms | 9804 KiB |
| test_41.txt | TLE | 4415 ms | 9752 KiB |
| test_42.txt | TLE | 4415 ms | 9708 KiB |
| test_43.txt | AC | 768 ms | 9688 KiB |
| test_44.txt | AC | 768 ms | 9612 KiB |