Cod sursa(job #1474532)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 22 august 2015 10:50:08
Problema Secventa 5 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<map>
#define dim (1<<20) + 2
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n,L,U,rez,a,b;
unsigned int i,j,v[dim];
map<unsigned int, unsigned int>H;
inline long long Secv(int nr)
{
    rez=0;
    for(i=j=0;i<n;++i)
    {
        ++H[v[i]];
        while(H.size()>nr)
        {
            --H[v[j]];
            if(!H[v[j]]) H.erase(v[j]);
            ++j;
        }
        rez+=1LL*(i-j+1);
    }
    return rez;
}
int main()
{
    f>>n>>L>>U;
    for(;i<n;++i) f>>v[i];
    a=Secv(U);
    H.clear();
    b=Secv(L-1);
    g<<a-b;
    return 0;
}