Pagini recente » Cod sursa (job #2634026) | Cod sursa (job #909441) | Cod sursa (job #1331993) | Cod sursa (job #537283) | Cod sursa (job #3171115)
#include <fstream>
#include <unordered_map>
using namespace std;
long long v[1048577];
int n;
long long count ( int x ) {
int l , r , nr;
unordered_map <long long , int> frecv;
long long ans;
l = r = nr = ans = 0;
while ( r < n ){
frecv[v[r]]++;
if ( frecv[v[r]] == 1 )
nr++;
r++;
while ( nr > x ) {
frecv[v[l]]--;
if ( frecv[v[l]] == 0 )
nr--;
l++;
}
ans += r - l;
}
return ans;
}
int main() {
ifstream cin ( "secv5.in" );
ofstream cout ( "secv5.out" );
int x , y , i;
cin >> n >> x >> y;
for ( i = 0 ; i < n ; i++ )
cin >> v[i];
cout << count ( y ) - count ( x - 1 ) << '\n';
return 0;
}