#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define endl '\n'
//#define int long long
const int N=1e6+5,inf=2e8,MOD=1e9+7;
int last[26];
signed main(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    //a[i]-a[j]-b[i]+b[j]
    //a[i]-b[i]-a[j]+b[j]
    int n; cin>>n;
    string s; cin>>s;
    for(int i=0;i<26;i++)last[i]=inf;
    for(int i=0;i<n;i++)last[s[i]-'a']=i;
    int sol=0;
    for(int i=0;i<26;i++){
        for(int j=0;j<26;j++){
            if(i==j || last[i]==inf || last[j]==inf)continue;
            int cnt=0,mn=inf,far=0;
            for(int k=0;k<n;k++){
                if(last[i]<k && last[j]<k)break;
                int id=s[k]-'a';
                if(id==i){
                    cnt++;
                    far++;
                }
                if(id==j){
                    mn=min({0,mn,cnt-far});
                    far=0;
                    cnt--;
                }
               // if(cnt-mn==3)cout<<i<<' '<<j<<' '<<k<<' '<<cnt<<' '<<mn<<endl;
                sol=max(sol,cnt-mn);
            }
        }
    }
    cout<<sol;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |