比赛 26暑假集训模拟赛2 评测结果 AAATTTTTTTT
题目名称 It s Mooin Time III 最终得分 27
用户昵称 Lixj 运行时间 8.815 s
代码语言 C++ 内存使用 3.53 MiB
提交时间 2026-07-02 11:43:55
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
char s[200001];
int l,r,n,q;
long long ans;
bool flag=0;
int main(){
    freopen("Time.in","r",stdin);
    freopen("Time.out","w",stdout);
    cin>>n>>q;
    for(int i=1;i<=n;i++)
        cin>>s[i];
    //for(int i=1;i<=n;i++)
    //    cout<<s[i]<<" ";
    while(q--){
        cin>>l>>r;
        char key=s[1];
        flag=0,ans=0;
        int mid=(l+(r-l)>>1);
        for(long long k=l;k<=r-2;k++){
            for(long long i=r;i>=k+2;i--){
                char last=s[i];
                for(long long j=mid;j<=i-1;j++){
                    char medium=s[j];
                    if(s[i]==s[j]&&s[j]!=s[k]){
                        ans=max(ans,(i-j)*(j-k));
                        //cout<<k<<" "<<j<<" "<<i<<endl;
                        //flag=1;
                    }
                }
                for(int j=mid;j>=k+1;j--){
                    char medium=s[j];
                    if(s[i]==s[j]&&s[j]!=s[k]){
                        ans=max(ans,(i-j)*(j-k));
                        //flag=1;
                        //cout<<k<<" "<<j<<" "<<i<<endl;;
                    }
                }
                //if(flag=1)
                  //  break;
            }
            //if(flag=1)
              //  break;
        }
        if(ans==0){
            //cout<<flag<<" ";
            cout<<-1<<endl;
        }
        else
            cout<<ans<<endl;
    }
    
    return 0;
}