Cod sursa(job #3238287)

Utilizator TheodosiusOancea Teodor Stefan Theodosius Data 23 iulie 2024 18:38:51
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int v[1048576],n;
map<int,int>m;
int subp(int x){
  int s=0,d=0,dist=0,cnt=0;
  while(d<n){
    if(m[v[d]]==0)
    dist++;
    m[v[d]]++;
    while(dist>x){
      m[v[s]]--;
      if(m[v[s]]==0)
      dist--;
      s++;
    }
    cnt+=(d-s+1);
    d++;
  }
  for(auto I:m){
    m[I.first]=0;
  };
  return cnt;
}
int main()
{
   int l,u;
   cin>>n>>l>>u;
   for(int i=0;i<n;i++)
   cin>>v[i];
   cout<<subp(u)-(l>1?subp(l-1):0);
}