Cod sursa(job #3268188)

Utilizator Tudor_11Tudor Ioan Calin Tudor_11 Data 13 ianuarie 2025 21:00:23
Problema Secventa 5 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv5.in");
ofstream fout("secv5.out");
long long v[1048577];
long long n;
long long secv(long long c)
{
	unordered_map<long long,long long> M;
	long long st=1,cnt=0,ans=0;
	for(long long dr=1;dr<=n;dr++)
	{
		M[v[dr]]++;
		if(M[v[dr]]==1) cnt++;
		while(cnt>c)
		{
			M[v[st]]--;
			if(M[v[st]]==0) cnt--;
			st++;
		}
		ans+=dr-st+1;
	}
	return ans;
}
int main() 
{
	long long u,l;
	fin>>n>>l>>u;
	for(int i=1;i<=n;i++)
	{
		fin>>v[i];
	}
	fout<<secv(u)-secv(l-1);
}