Cod sursa(job #1474536)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 22 august 2015 11:07:12
Problema Secventa 5 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <unordered_map>
#define NMax (1<<20)+1
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
int n,l,u,i,j;
unsigned int a[NMax];
unordered_map<unsigned int,unsigned int> H;
long long int until(int x)
{
    H.clear();
    long long int sum=0;
    for(i=j=1;i<=n;++i)
    {
        H[a[i]]++;
        while(x<H.size())
        {
            --H[a[j]];
            if(!H[a[j]])H.erase(a[j]);
            ++j;
        }
        sum=sum+(i-j+1);
    }
    return sum;
}
int main()
{
    f>>n>>l>>u;
    for(i=1;i<=n;++i) f>>a[i];
    g<<until(u)-until(l-1);
}