Pagini recente » Cod sursa (job #2094193) | Cod sursa (job #682569) | Cod sursa (job #2243568) | Cod sursa (job #610719) | Cod sursa (job #2948072)
#include <iostream>
#include <fstream>
#include <unordered_set>
#include <unordered_map>
#include <string>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long int n, l, u, a, nrdist, cnt;
unordered_map<int, int> umap;
deque<int> deq;
int main()
{
fin>>n>>l>>u;
for(int i = 1; i <= n; i++)
{
fin>>a;
deq.push_back(a);
int re = ++umap[a];
if(re == 1)
nrdist++;
// cout<<a<<" "<<nrdist<<endl;
while(nrdist > u)
{
int re = --umap[deq.front()];
deq.pop_front();
if(re == 0)
nrdist --;
}
if(nrdist >= l && nrdist <= u)
cnt++;
}
cnt += deq.size();
fout<<cnt;
}