238732026-01-31 11:02:53KristófDNScpp17Wrong answer 20/409ms708 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	string s;
    cin>>s;
    int n=s.size();
    int cntg=0;
    int ans=0;
    for(int i=0;i<n;i++)
        {
        if(s[i]=='G')
            {
            int cnt=1;
            int start=i;
            while(cnt>=0 && i<n-1)
                {
                i++;
                if(s[i]!='G')cnt--;
                else cnt++;
                }
            if(cnt==0)
                cntg=max(cntg,-start+i+1);
            else cntg=max(cntg,min(n,-start+i+1+cnt));
            }
        }
    ans=max(cntg,ans);
    cntg=0;
    for(int i=0;i<n;i++)
        {
        if(s[i]=='A')
            {
            int cnt=1;
            int start=i;
            while(cnt>=0 && i<n-1)
                {
                i++;
                if(s[i]!='A')cnt--;
                else cnt++;
                }
            if(cnt==0)
                cntg=max(cntg,-start+i+1);
            else cntg=max(cntg,min(n,-start+i+1+cnt));
            }
        }
    ans=max(cntg,ans);
    cntg=0;
    for(int i=0;i<n;i++)
        {
        if(s[i]=='C')
            {
            int cnt=1;
            int start=i;
            while(cnt>=0 && i<n-1)
                {
                i++;
                if(s[i]!='C')cnt--;
                else cnt++;
                }
            if(cnt==0)
                cntg=max(cntg,-start+i+1);
            else cntg=max(cntg,min(n,-start+i+1+cnt));
            }
        }
    ans=max(cntg,ans);
    cntg=0;
    for(int i=0;i<n;i++)
        {
        if(s[i]=='T')
            {
            int cnt=1;
            int start=i;
            while(cnt>=0 && i<n-1)
                {
                i++;
                if(s[i]!='T')cnt--;
                else cnt++;
                }
            if(cnt==0)
                cntg=max(cntg,-start+i+1);
            else cntg=max(cntg,min(n,-start+i+1+cnt));
            }
        }
    ans=max(cntg,ans);
    cout<<ans;
}
SubtaskSumTestVerdictTimeMemory
base20/40
1Accepted0/01ms316 KiB
2Wrong answer0/09ms704 KiB
3Wrong answer0/21ms316 KiB
4Accepted2/21ms508 KiB
5Wrong answer0/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Wrong answer0/21ms316 KiB
8Wrong answer0/43ms508 KiB
9Wrong answer0/44ms564 KiB
10Wrong answer0/44ms624 KiB
11Accepted4/46ms564 KiB
12Accepted4/44ms564 KiB
13Accepted5/56ms708 KiB
14Accepted5/57ms704 KiB