Pagini recente » Cod sursa (job #562196) | Cod sursa (job #1150966) | Cod sursa (job #284531) | Cod sursa (job #1340488) | Cod sursa (job #3219006)
#include <bits/stdc++.h>
#define vi vector<int>
#define vvi vector<vi>
#define pb push_back
#define int long long
using namespace std;
const string TASK("secv5");
ifstream fin(TASK + ".in");
ofstream fout(TASK + ".out");
#define cin fin
#define cout fout
const int N = (1 << 20) + 9, P = 666013;
int n, l, u, a[N];
int solve(int len)
{
unordered_map<int, int> fr;
int ret = 0;
for(int dr = 1, st = 1, cnt = 0; dr <= n; ++dr)
{
if(!fr[a[dr]] ++)cnt ++;
while(cnt > len)if(!--fr[a[st ++]])cnt --;
ret += (dr - st);
}
return ret;
}
int main()
{
cin >> n >> l >> u;
for(int i = 1; i <= n; ++i)cin >> a[i];
cout << solve(u) - solve(l - 1);
return 0;
}