Cod sursa(job #9417)

Utilizator sarabogdanSara Nicolae Bogdan sarabogdan Data 27 ianuarie 2007 15:21:07
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Unirea 2007, clasele 11-12 Marime 1.22 kb
#include<stdio.h>

long a[5000000];

long n , sir[1500000];

long i , j , l , u , k ,x;
int main()
{
    freopen("secv5.in","r",stdin);
    freopen("secv5.out","w",stdout);
    
    scanf("%ld%ld%ld",&n,&l,&u);
    
    for (i = 1 ; i <= n ; i++)
        scanf("%ld",&sir[i]);
        
    k = u+1;
    long nrsol = 0;
    for (i = 1 ; i < l ; i++)
        a[sir[i]] += 1;
    for (i = l ; i <= n ; i++)
    {
        x = 1;
        a[sir[i]] = k;
        for (j = i-1;j>= 1; j--)
        {
            
            if (a[sir[j]] < k)
            {
                          x++;
                          a[sir[j]] = k;
                          if( x >=l && x <= u)
                          {
                             nrsol++;
                          }
                          else
                          if ( x > u)
                             break;
                          else
                          if (i-j+1>u)
                             break;
            }
            else
            if (a[sir[j]] == k && x >= l && x <= u)
            {
               nrsol++;}
        }
        k++;
    }
    printf("%ld",nrsol);
    return 0;
}