Cod sursa(job #1287572)

Utilizator emiiMihailescu Ionut Emanuel emii Data 7 decembrie 2014 21:04:57
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<fstream>
#include <unordered_map>
#define N 2^20
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n, u, l;
int v[N],i;
long long secventa(int x)
{
	long long s=0;
	int j=1,i;
	unordered_map <int, int> h;
	for (i = 1; i < n; i++)
	{
		h[v[i]]++;
		while (x < h.size())
		{
			h[v[j]]--;
			if (h[v[j]] == 0)
				h.erase(v[j]);
			j++;
		}
		s += i - j + 1;
	}
	return s;
}
int main()
{
	f >> n >> l >> u;
	for (i = 1; i <= n; i++)
		f >> v[i];
	g << secventa(u) - secventa(l - 1);
	return 0;
}