Pagini recente » Cod sursa (job #733565) | Cod sursa (job #412022) | Cod sursa (job #2060629) | Cod sursa (job #1406586) | Cod sursa (job #1573666)
#include <iostream>
#include <cstdio>
#include <fstream>
using namespace std;
#include <vector>
#include <unordered_map>
long long int V[200000000],n;
long long int rez(long long int limita)
{
long long int r=0;
long long int s,d;
unordered_map <unsigned int,int> H;
for (s=1,d=1;d<=n;++d)
{
++H[V[d]];
while (H.size()>limita)
{
//H[V[s]]--;
if (--H[V[s]]==0) H.erase(V[s]);
++s;
}
r+=d-s+1;
}
return r;
}
int main()
{
/* freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
long long int s,d,i;
scanf("%li %li %li",&n,&s,&d);*/
long long int s,d,i;
ifstream f("secv5.in");
ofstream g("secv5.out");
f>>n>>s>>d;
for (i=1;i<=n;i++)
{
// scanf("%lli",V[i]);
f>>V[i];
}
g<<rez(d)-rez(s-1);
}