Cod sursa(job #3196029)
Utilizator | Rosca Cristian rosca.cris | Data | 22 ianuarie 2024 15:21:25 |
---|---|---|---|
Problema | Secventa 5 | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
int n, x, y;
vector <int> v;
int sub(int k){
unordered_map <int, int> m;
int l = 1, cnt = 0, ans = 0;
for(int r = 1; r <= n; ++r){
if(++m[v[r]] == 1){
++cnt;
while(cnt > k){
if(--m[v[l]] == 0){
--cnt;
}
++l;
}
}
ans += r - l + 1;
}
return ans;
}
int main(){
cin >> n >> x >> y;
v.resize(n + 1);
for(int i = 1; i <= n; ++i){
cin >> v[i];
}
cout<<"Test"<<'\n';
cout << sub(y) - sub(x - 1);
return 0;
}