Pagini recente » Cod sursa (job #1968374) | Cod sursa (job #1881809) | Cod sursa (job #1335697) | Cod sursa (job #161381) | Cod sursa (job #3186468)
#include <fstream>
#include <unordered_map>
#define MAXN 1048576
using namespace std;
long long v[MAXN + 1];
int cnt( int n, int x ) {
int r, l, k;
unordered_map<long long, int> f;
long long ans;
r = l = k = ans = 0;
while ( r < n ) {
f[v[r]]++;
if ( f[v[r]] == 1 )
k++;
r++;
while ( k > x ) {
f[v[l]]--;
if ( f[v[l]] == 0 )
k--;
l++;
}
ans += r - l;
}
return ans;
}
int main()
{
ifstream fin( "secv5.in" );
ofstream fout( "secv5.out" );
int n, i, x, y;
fin >> n >> x >> y;
for ( i = 0; i < n; i++ )
fin >> v[i];
fout << cnt( n, y ) - cnt( n, x - 1 ) << '\n';
return 0;
}