Cod sursa(job #3276685)
| Utilizator | Data | 14 februarie 2025 09:45:11 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.74 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long n, x, y;
long long v[10000005];
long long nr(int maxx)
{
long long ans=0;
int l=1, cnt=0;
unordered_map<int,int> f;
for(int r=1; r<=n; r++)
{
f[v[r]]++;
if(f[v[r]]==1)
{
cnt++;
while(cnt>maxx)
{
f[v[l]]--;
if(f[v[l]]==0)
{
cnt--;
}
l++;
}
}
ans+=r-l+1;
}
return ans;
}
int main()
{
fin>>n>>x>>y;
for(int i=1; i<=n; i++)
{
fin>>v[i];
}
fout<<nr(y)-nr(x-1);
}
