Cod sursa(job #3185785)
| Utilizator | Data | 20 decembrie 2023 13:52:55 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int v[1<<20];
int n;
int catesecv(int x){
int r,l,nr=0,rasp;
unordered_map<long long,int>frecv;
rasp=r=l=0;
while(r<n){
frecv[v[r]]++;
if(frecv[v[r]]==1)
nr++;
r++;
while(nr>x){
frecv[v[l]]--;
if(frecv[v[l]]==0)
nr--;
l++;
}
rasp=rasp+r-l;
}
return rasp;
}
int main()
{
int i,ll,uu;
cin>>n>>ll>>uu;
for(i=0;i<n;i++)
cin>>v[i];
cout<<catesecv(uu)-catesecv(ll-1);
return 0;
}
