Mai intai trebuie sa te autentifici.
Cod sursa(job #3270987)
| Utilizator | Data | 24 ianuarie 2025 23:10:53 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <bits/stdc++.h>
using namespace std;
int v[10000005];
int okbro(int a, int n)
{
long long ans = 0;
unordered_map<int, int> f;
int l = 0, cnt = 0;
for (int r = 0; r < n; r ++)
{
f[v[r]] ++;
if (f[v[r]] == 1)
cnt ++;
r ++;
while (cnt > a)
{
f[v[l]] --;
if (f[v[l]] == 0)
cnt --;
l ++;
}
ans += r - l + 1;
}
return ans;
}
int main()
{
ifstream cin("secv5.in");
ofstream cout("secv5.out");
long long n, a, b;
cin >> n >> a >> b;
for (int i = 0; i < n; i++)
cin >> v[i];
cout << okbro(b, n) - okbro(a - 1, n);
return 0;
}
