Pagini recente » Cod sursa (job #315926) | Cod sursa (job #1474319) | Cod sursa (job #2136703) | Cod sursa (job #2396657) | Cod sursa (job #1319136)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
#define maxn (1<<20)+1
long long L, U, n;
unsigned int a[maxn];
unordered_map<unsigned int, unsigned int> m;
long long maxim(int nr)
{
long long sol=0;
int j=1, i;
for (i=1;i<=n;i++)
{
m[a[i]]++;
while (nr<m.size())
{
m[a[j]]--;
if (m[a[j]]==0)
m.erase(a[j]);
j++;
}
sol+=(i-j+1);
}
return sol;
}
int main()
{
ifstream r("secv5.in");
ofstream w("secv5.out");
r>>n>>L>>U;
int i;
long long soll, solu;
for (i=0;i<n;i++)
r>>a[i];
soll=maxim(L-1);
m.clear();
solu=maxim(U);
w<<solu-soll;
}