Submission #206480

# Submission time Handle Problem Language Result Execution time Memory
206480 2020-03-03T12:46:31 Z rzbt Nivelle (COCI20_nivelle) C++14
110 / 110
50 ms 508 KB
#include <bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define all(x) x.begin(),x.end()
#define MAXN 100005

using namespace std;

int n;
char s[MAXN];
set<int> gde;
int niz[29];
int l=1,r=1,razl=1;
int main()
{
    scanf("%d", &n);
    scanf("%s",s);
    gde.insert(0);
    for(int i=1;i<=n;i++){
        int slovo=s[i-1]-'a';

        if(niz[slovo])gde.erase(-niz[slovo]);
        niz[slovo]=i;
        gde.insert(-i);
        niz[slovo]=i;
        int broj=0;
        for(auto x:gde){
            //printf("    %d %d %d\n",i,x,broj);
            //printf("          %d %d    %d %d\n",r-l+1,razl,i+x,broj);
            if(broj && (broj*(r-l+1)<(i+x)*razl)){

                l=-x+1;
                r=i;
                razl=broj;
            }
            broj++;
        }

    }
    printf("%d %d",l,r);
    return 0;
}

Compilation message

nivelle.cpp: In function 'int main()':
nivelle.cpp:16:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d", &n);
     ~~~~~^~~~~~~~~~
nivelle.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%s",s);
     ~~~~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 256 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
3 Correct 5 ms 256 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 368 KB Output is correct
2 Correct 5 ms 256 KB Output is correct
3 Correct 5 ms 256 KB Output is correct
4 Correct 5 ms 256 KB Output is correct
5 Correct 6 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 504 KB Output is correct
2 Correct 13 ms 504 KB Output is correct
3 Correct 13 ms 504 KB Output is correct
4 Correct 14 ms 504 KB Output is correct
5 Correct 14 ms 504 KB Output is correct
6 Correct 14 ms 508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 16 ms 504 KB Output is correct
2 Correct 18 ms 504 KB Output is correct
3 Correct 22 ms 504 KB Output is correct
4 Correct 17 ms 504 KB Output is correct
5 Correct 23 ms 500 KB Output is correct
6 Correct 19 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 42 ms 504 KB Output is correct
2 Correct 39 ms 504 KB Output is correct
3 Correct 37 ms 480 KB Output is correct
4 Correct 40 ms 504 KB Output is correct
5 Correct 50 ms 504 KB Output is correct
6 Correct 40 ms 504 KB Output is correct