Cod sursa(job #3276183)
| Utilizator | Data | 12 februarie 2025 20:54:54 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.02 kb |
#include <bits/stdc++.h>
using namespace std;
int v[2000005];
unordered_map<long long,int> f;
int main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int n,a,b;
cin>>n>>a>>b;
for(int i=1;i<=n;++i)
{
cin>>v[i];
}
int c1=0,c2=0;
int nr=0;
int j=1;
for(int i=1;i<=n;++i)
{
f[v[i]]++;
if(f[v[i]]==1)
{
++nr;
}
while(nr>b)
{
f[v[j]]--;
if(f[v[j]]==0)
{
--nr;
}
++j;
}
c1=c1+i-j+1;
}
nr=0;
f.clear();
j=1;
--a;
for(int i=1;i<=n;++i)
{
f[v[i]]++;
if(f[v[i]]==1)
{
++nr;
}
while(nr>a)
{
f[v[j]]--;
if(f[v[j]]==0)
{
--nr;
}
++j;
}
c2=c2+i-j+1;
}
cout<<c1-c2;
return 0;
}
