233072026-01-18 19:55:31abcdDNScpp17Accepted 40/4012ms2244 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
string s;

int solve(char c){
    int ans=0,cnt=0;
    vector<int> first(2*n+2,-1);
    for(int i=0;i<n;i++){
        char ch=s[i];
        if(ch==c)cnt++;else cnt--;
        if(first[cnt+n]==-1){
            first[cnt+n]=i;
        }else{
            ans=max(ans,i-first[cnt+n]);
        }
    }
    if(cnt>=0)return n;
    return ans;
}

int main(){
    cin>>s;
    n=s.size();
    int ans=max({solve('A'),solve('C'),solve('G'),solve('T')});
    cout<<ans<<'\n';
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/01ms316 KiB
2Accepted0/012ms2244 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted4/43ms816 KiB
9Accepted4/44ms1204 KiB
10Accepted4/46ms1384 KiB
11Accepted4/47ms1484 KiB
12Accepted4/47ms1704 KiB
13Accepted5/58ms1916 KiB
14Accepted5/59ms2208 KiB