Submission #1281659

#TimeUsernameProblemLanguageResultExecution timeMemory
1281659arman.khachatryanNivelle (COCI20_nivelle)C++20
0 / 110
47 ms20888 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main() {
    ll n, i, j;
    cin>>n;
    string s;
    cin>>s;
    ll next[n][26];
    ll l, r, cnt;
    double ans=1e9;
    for(j=0; j<26; j++){
        next[n-1][j]=n;
    }
    for(i=n-2; i>=0; i--){
        for(j=0; j<26; j++){
            next[i][j]=next[i+1][j];
        }
        next[i][s[i+1]-'a']=i+1;
    }
    for(i=0; i<n; i++){
        cnt=0;
        sort(next[i], next[i]+26);
        for(j=0; j<26; j++){
            if(next[i][j]==n){
                break;
            }
            if(j==s[i]-'a'){
                continue;
            }
            cnt++;
            if(ans>(double)cnt/(next[i][j]-i)){
                ans=(double)cnt/(next[i][j]-i);
                l=i, r=next[i][j]-1;
            }
        }
        cnt++;
        if(ans>(double)cnt/(n-i)){
            ans=(double)cnt/(n-i);
            l=i+1, r=n-1;
        }
    }
    cout<<l+1<<" "<<r+1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...