Cod sursa(job #1703131)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 16 mai 2016 12:35:25
Problema Secventa 5 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<unordered_map>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
const int nmax=(1<<21);
int n,l,u;
unsigned int v[nmax];
unordered_map<unsigned int,int>h;
long long num(int x)
{
    h.clear();
    long long sol=0;
    int j=1,i;
    for(i=1;i<=n;i++)
    {
        h[v[i]]++;
        while(h.size()>x)
        {
            h[v[j]]--;
            if(h[v[j]]==0)
              h.erase(v[j]);
            j++;
        }
        sol+=(i-j+1);
    }
    return sol;
}
int main()
{
    int i;
    f>>n>>l>>u;
    for(i=1;i<=n;i++)
      f>>v[i];
    g<<num(u)-num(l-1);
    return 0;
}