# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
308361 | 2020-10-01T01:10:31 Z | ErdosSzekeres | Nivelle (COCI20_nivelle) | C++14 | 104 ms | 28024 KB |
#include<bits/stdc++.h> using namespace std; const int MAXN = 1e5+7; int prox[MAXN][28], mx[28], l[28], r[28]; long double ans[28]; vector<int> v[MAXN]; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int n; cin>>n; string s; cin>>s; for(char c='a'; c<='z'; c++){ prox[n][c - 'a'] = MAXN; mx[c - 'a' + 1] = -1;//max length with this many characters } for(int i=n-1; i>=0; i--){ for(char c='a'; c<='z'; c++) prox[i][c-'a'] = prox[i+1][c-'a']; prox[i][s[i]-'a'] = i; for(char c='a'; c<='z'; c++){ if(prox[i][c-'a'] == MAXN)continue; v[i].push_back(prox[i][c-'a']); } //cout<<"Check this out: "<<i<<" "<<v[i].size()<<endl; sort(v[i].begin(), v[i].end()); } for(int i=0; i<n; i++){ //cout<<i<<" ---> "; for(int j=0; j < (int)v[i].size(); j++){ //cout<<v[i][j]<<" "; int nxt = (j+1<(int)v[i].size()) ? v[i][j+1]-1 : n-1; if(mx[j+1] < nxt - i + 1){ mx[j+1] = nxt - i + 1; l[j+1] = i; r[j+1] = nxt; } } //cout<<endl; } double tp = 1e9+7; int id; for(char c='a'; c<='z'; c++){ int i = c-'a'+1; //cout<<i<<" ---> "<<mx[i]<<endl; //continue; if(mx[i] == -1)continue; //cout<<i<<" "<<mx[i]<<" "<<l[i]<<" "<<r[i]<<endl; ans[i] = ((double)i)/((double)mx[i]); if(ans[i] < tp){ tp = ans[i]; id = i; } } //return 0; cout<<l[id]+1<<" "<<r[id]+1<<endl; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 2688 KB | Output is correct |
2 | Correct | 2 ms | 2688 KB | Output is correct |
3 | Correct | 2 ms | 2688 KB | Output is correct |
4 | Correct | 2 ms | 2688 KB | Output is correct |
5 | Correct | 2 ms | 2688 KB | Output is correct |
6 | Correct | 2 ms | 2688 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 3200 KB | Output is correct |
2 | Correct | 5 ms | 3200 KB | Output is correct |
3 | Correct | 4 ms | 3200 KB | Output is correct |
4 | Correct | 4 ms | 3200 KB | Output is correct |
5 | Correct | 4 ms | 3124 KB | Output is correct |
6 | Correct | 5 ms | 3200 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 24 ms | 17024 KB | Output is correct |
2 | Correct | 28 ms | 17024 KB | Output is correct |
3 | Correct | 24 ms | 17024 KB | Output is correct |
4 | Correct | 24 ms | 17016 KB | Output is correct |
5 | Correct | 24 ms | 17024 KB | Output is correct |
6 | Correct | 26 ms | 17016 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 38 ms | 18560 KB | Output is correct |
2 | Correct | 37 ms | 18552 KB | Output is correct |
3 | Correct | 39 ms | 18552 KB | Output is correct |
4 | Correct | 38 ms | 18552 KB | Output is correct |
5 | Correct | 37 ms | 18552 KB | Output is correct |
6 | Correct | 38 ms | 18552 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 101 ms | 27896 KB | Output is correct |
2 | Correct | 98 ms | 27896 KB | Output is correct |
3 | Correct | 93 ms | 27976 KB | Output is correct |
4 | Correct | 102 ms | 28024 KB | Output is correct |
5 | Correct | 100 ms | 28024 KB | Output is correct |
6 | Correct | 104 ms | 27896 KB | Output is correct |