Pagini recente » Cod sursa (job #2183184) | Cod sursa (job #2895504) | Cod sursa (job #2718080) | Cod sursa (job #563217) | Cod sursa (job #1306530)
#include <fstream>
#include <unordered_map>
using namespace std;
#define ull unsigned long long
int getSeqNr(int v[], int N, int x);
int main()
{
int L, U, N, i;
ifstream f("secv5.in");
f >> N >> L >> U;
int a[N];
for (i = 0; i < N; i++)
f >> a[i];
f.close();
ofstream g("secv5.out");
g << getSeqNr(a, N, U) - getSeqNr(a, N, L - 1);
g.close();
return 0;
}
int getSeqNr(int v[], int N, int x)
{
unordered_map<int, int> m;
int left = 0, i;
ull nr = 0;
for (i = 0; i < N; i++)
{
m[v[i]]++;
while (m.size() > x)
{
m[v[left]]--;
if (!m[v[left]])
m.erase(v[left]);
left++;
}
nr += i - left + 1;
}
return nr;
}