Pagini recente » Monitorul de evaluare | Cod sursa (job #2853863) | Cod sursa (job #1152556) | Cod sursa (job #1981279) | Cod sursa (job #3122331)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv5.in");
ofstream g("secv5.out");
long long v[1050000],n;
long long pairs(int k)
{unordered_map<int,int> mp;
long long st=0,dr,sol=0,cnt=0;
for (dr=0;dr<n;dr++)
{
if (mp[v[dr]]==0)
cnt++;
mp[v[dr]]++;
while (cnt>k && st<=dr)
{
mp[v[st]]--;
if (mp[v[st]]==0)
cnt--;
st++;
}
sol+=dr-st+1;
}
return sol;
}
int main()
{long long l,u,x;
f>>n>>l>>u;
for (long long i=0;i<n;i++)
{
f>>v[i];
}
g<<pairs(u)-pairs(l-1);
}