Cod sursa(job #2039433)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 14 octombrie 2017 15:59:59
Problema Secventa 5 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
int n,u,l,a[2000000];
long long Rezolvare(int k)
     {int i,j,x;
      long long cnt=0;
      i=1;
      unordered_map<int,int>M;
      for(j=1;j<=n;j++)
         {M[a[j]]++;
          while(M.size()>k)
            {x=a[i];
             M[x]--;
             i++;
             if(M[x]==0)M.erase(x);
            }
          cnt+=1LL*j-1LL*i+1LL;
         }
      return cnt;
     }
int main()
{int i;
 fin>>n>>l>>u;
 for(i=1;i<=n;i++)
    fin>>a[i];
 fout<<Rezolvare(u)-Rezolvare(l-1);
}