Cod sursa(job #2608801)

Utilizator ioana0211Ioana Popa ioana0211 Data 1 mai 2020 19:25:25
Problema Secventa 5 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("secv5.in");
ofstream fout ("secv5.out");

unordered_map<unsigned int, int> m;
int n, l, u;
unsigned int v[1048577];
long long secv (int x)
{
     int ind_st=1, ind_dr=1;
     int elem_disctincte=1;
     long long Secv=0;
     m[v[1]]++;
     while(ind_st<=n)
     {
        while(elem_disctincte<=x && ind_dr<=n)
     {
         ind_dr++;
         m[v[ind_dr]]++;
         if(m[v[ind_dr]]==1) elem_disctincte++;
     }
        Secv+=(ind_dr-ind_st);

        m[v[ind_st]]--;
        if(m[v[ind_st]]==0) elem_disctincte--;
        ind_st++;
     }
    return Secv;
}
int main()
{
    fin>>n>>l>>u;
    for(int i=1; i<=n; i++)
        fin>>v[i];
    fout<<secv(u)-secv(l-1);
    return 0;
}