Submission #1265665

#TimeUsernameProblemLanguageResultExecution timeMemory
1265665goulthenNivelle (COCI20_nivelle)C++20
110 / 110
18 ms1352 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define rep(i,a,b) for(int i=a;i<=b;++i)
#define per(i,a,b) for(int i=a;i>=b;--i)
#define pii pair<int,int>
#define pb push_back
#define fi first
#define se second

const int MAXN = 2e5 + 10;
int a[MAXN];


int32_t main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int n;
	string s;cin >> n >> s;
	rep(i,1,n) {
		a[i] = s[i-1]-'a';
	}

	pii cur = {1,0}, ex;
	rep(i,1,26) {
		int cnt = 0;
		int c[26] = {};

		int l = 1;
		rep(r,1,n) {
			if (c[a[r]] == 0) cnt++;
			c[a[r]]++;

			while (cnt > i) {
				if (c[a[l]] == 1) cnt--;
				c[a[l++]]--;
			}
			//cout << cur.fi << "/" << cur.se << ' ' << i << "/" << r-l+1 << '\n';
			if (cur.fi*(r-l+1) > i*cur.se) cur = {i,r-l+1}, ex = {l,r};
		}
	}
	cout << ex.fi << ' ' << ex.se << '\n';
	
	return 0;
}
#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...