Cod sursa(job #1483495)

Utilizator dorumusuroiFMI - Doru Musuroi dorumusuroi Data 9 septembrie 2015 14:41:24
Problema Secventa 5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <unordered_map>
using namespace std;
int n;
    unsigned int x[1048577];
long long nrsecv(unsigned int lim, unsigned int *a)
{
    unordered_map <unsigned int, unsigned int> coada;
    int i,inc=0;
    long long nrs=0;
    for(i=0;i<n;i++)
    {
        coada[a[i]]++;
        while(coada.size()>lim)
        {
            coada[a[inc]]--;
            if(coada[a[inc]]==0)
                coada.erase(a[inc]);
            inc++;
        }
        nrs+=i-inc;
    }
    return nrs;
}
int main()
{
    ifstream f("secv5.in");
    ofstream g("secv5.out");
    int l,i,u;
    f>>n>>l>>u;
    for(i=0;i<n;i++)
        f>>x[i];
    g<<nrsecv(u,x)-nrsecv(l-1,x);
    return 0;
}