Cod sursa(job #1287590)

Utilizator emiiMihailescu Ionut Emanuel emii Data 7 decembrie 2014 21:20:43
Problema Secventa 5 Scor 10
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 0.56 kb
#include<fstream>
#include <unordered_map>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long n, u, l,r;
int v[1050000],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 +=1ll*(i - j + 1);
	}
	return s;
}
int main()
{
	f >> n >> l >> u;
	for (i = 1; i <= n; i++)
		f >> v[i];
	r=secventa(u) - secventa(l - 1);
	g << r;
	return 0;
}