Pagini recente » Cod sursa (job #4193) | Cod sursa (job #1595696) | Cod sursa (job #1191033) | Cod sursa (job #914910) | Cod sursa (job #2371860)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
unsigned int n,l,u,a[1048581];
long long solve(unsigned int k)
{
unordered_map<unsigned int,int>m;
long long j=1,ans=0,i;
for(i=1;i<=n;i++)
{
m[a[i]]++;
while(m.size()>k)
{
m[a[j]]--;
if(m[a[j]]==0) m.erase(a[j]);
j++;
}
ans+=i-j+1;
}
return ans;
}
int main()
{
in>>n>>l>>u;
for(int i=1;i<=n;i++) in>>a[i];
out<<solve(u)-solve(l-1);
return 0;
}