제출 #844319

#제출 시각아이디문제언어결과실행 시간메모리
844319vjudge1Nivelle (COCI20_nivelle)C++17
0 / 110
1038 ms21080 KiB
#pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include <bits/stdc++.h> using namespace std; #define int long long const int INF = 1e9; #define ONLINE_JUDGE #ifndef ONLINE_JUDGE #define OPEN freopen(".in", "r", stdin); \ freopen(".out", "w", stdout); #else #define OPEN void(23); #endif void solve() { int n; cin >> n; string str; cin >> str; str = '$' + str; vector <array <int, 26>> pref(n +1); for(int i = 0; i < 26; i++) pref[0][i] = 0; for(int i = 1; i <= n; i++) { pref[i] = pref[i -1]; pref[i][str[i] - 'a' +1]++; } double ans = INF; pair <int, int> inds; for(int l = 1; l <= n; l++) { for(int r = l; r <= n; r++) { array <int, 26> c; int tot = 0; for(int i = 0; i < 26; i++) c[i] = pref[r][i] - pref[l -1][i], tot += (c[i] != 0); //cerr << l << " " << r << " " << tot / (r - l +1) << "\n"; double cost = double(tot) / (r - l +1); if(cost < ans) { ans = cost; inds = {l, r}; } } } cout << inds.first << " " << inds.second << "\n"; return; } int32_t main() { OPEN; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t = 1; //cin >> t; while(t--) { solve(); } }
#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...