Pagini recente » Cod sursa (job #1443652) | Cod sursa (job #93143) | Cod sursa (job #525334) | Cod sursa (job #1695935) | Cod sursa (job #3325746)
#include <fstream>
#include <unordered_map>
using namespace std;
#define int long long
ifstream cin("secv5.in");
ofstream cout("secv5.out");
int arr[1048577];
int n;
int smekerie(int a)
{
int ans = 0, l = 1, cnt = 0;
unordered_map<int, int> vdf;
for(int r = 1; r <= n; r++)
{
vdf[arr[r]]++;
if(vdf[arr[r]] == 1)
cnt++;
while(l <= r && cnt > a)
{
vdf[arr[l]]--;
if(vdf[arr[l]] == 0)
cnt--;
l++;
}
ans += r - l + 1;
}
return ans;
}
signed main()
{
int l, u;
cin >> n >> l >> u;
for(int i = 1; i <= n; i++)
cin >> arr[i];
int rasp = smekerie(u) - smekerie(l - 1);
cout << rasp;
}