Cod sursa(job #10227)

Utilizator cos_min2b cv cos_min2 Data 27 ianuarie 2007 23:45:16
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <stdio.h>
#include <vector>
#include <iterator>
#include <algorithm>
#include <map>
#include <iostream>
using namespace std;

#define in "secv5.in"
#define out "secv5.out"

int n, l, u;
vector<int> v;
bool sel[10000];

int main()
{
    long long p=0,k=0;
    bool ok;
    int i,j;
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    scanf("%d%d%d",&n,&l,&u);
    
    v.resize(n+1);
    
    for ( i = 1; i <= n; i++ )
        scanf("%lld",&v[i]);
    
    for ( i = 1; i <= n; i++ )
    {
        p = 1;
        sel[v[i]] = 1;
        ok=0;
        for ( j = i+1; j <= n; j++ )
        {
            if ( sel[v[j]] == 1 && ok )
            {
                 k++;
            }
            else
            {
                if ( sel[v[j]] == 0 )
                {
                     p += 1;
                     sel[v[j]] = 1;
                     if ( l <= p && p <= u ) 
                     {
                          ok = 1, k += 1;
                     }
                     else   if ( p > u )              break; 
                }
            }
        }
        memset(sel,0,sizeof(sel));
    }
    
   // printf("%d\n",sizeof(v));
    printf("%lld",k);
}