Pagini recente » Cod sursa (job #1243210) | Cod sursa (job #1850307) | Cod sursa (job #1620877) | Cod sursa (job #1819383) | Cod sursa (job #3171102)
#include <fstream>
#include <unordered_map>
using namespace std;
long long v[1048577];
int n;
long long count ( int max ) {
long long ans = 0;
unordered_map<int, int> frq;
int l = 1 , r = 1, cnt = 0;
r = 1;
while ( r <= n ) {
if (++frq[v[r]] == 1) {
while (++cnt > max && l <= n ) {
if (--frq[v[l]] == 0)
cnt--;
l++;
}
ans += r - l + 1;
}
r++;
}
return ans;
}
int main() {
ifstream cin ( "secv5.in" );
ofstream cout ( "secv5.out" );
int x , y , i;
cin >> n >> x >> y;
for ( i = 1 ; i <= n ; i++ )
cin >> v[i];
cout << count ( y ) - count ( x - 1 ) << '\n';
return 0;
}