Cod sursa(job #1108095)

Utilizator matei_cChristescu Matei matei_c Data 15 februarie 2014 13:21:50
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.99 kb
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std ;

#define maxn 1050000
#define mod 9319

int n ;
int L, U ;
/*vector <int> hash[mod] ;
vector <int> unde[mod] ;
int indice ;
unsigned int ind[maxn] ;
int cate[maxn] ;
char sir[64] ;

int gasit(unsigned int x)
{
    int r = x % mod ;
    int len = hash[r].size() ;

    for( int i = 0; i < len; ++i )
        if( hash[r][i] == x )
            return unde[r][i] ;

    return -1 ;
}

void adauga(unsigned int x, int poz)
{
    int ok = gasit( x ) ;
  //  int ok = -1 ;
    if( ok == -1 )
    {
        int r = x % mod ;
        hash[r].push_back( x ) ;
        unde[r].push_back( indice ) ;
        ind[poz] = indice ;
        ++indice ;
    }

    else
        ind[poz] = ok ;
}

long long numar(int nrmax)
{
    int nrdif = 0 ;
    int st = -1 ;
    long long sol = 0 ;

    for(int i = 0; i < n; ++i )
    {
        if( ! cate[ ind[i] ] )
            ++nrdif ;

        ++cate[ ind[i] ] ;

        while( st < i && nrdif > nrmax )
        {
            ++st ;
            --cate[ ind[st] ] ;
            if( ! cate[ ind[st] ] )
                --nrdif ;
        }

        sol += i - st ;
    }

    return sol;
}*/

int main()
{
    std::ios_base::sync_with_stdio(false) ;

    freopen("secv5.in", "r", stdin);
    freopen("secv5.out", "w", stdout);

    //scanf("%d%d%d",&n, &L, &U);

    cin >> n >> L >> U ;

    for(int i = 0; i < n; ++i )
    {
        /*scanf("%s", sir);
        unsigned int x = 0 ;

        for(int j = 0 ; sir[j] >= '0' && sir[j] <= '9'; ++j )
            x = x * 10 + ( sir[j] - '0' ) ;
        //scanf("%u", &x);

         adauga( x, i ) ;*/

        unsigned int x ;
        cin >> x ;
    }

    /*long long sol1 = numar(U) ;

    memset( cate, 0, sizeof(cate) ) ;

    long long sol2 = numar(L-1) ;

    long long sol = sol1 - sol2 ;

    printf("%lld\n", sol);*/

    return 0;
}