Cod sursa(job #2371795)
| Utilizator | Data | 6 martie 2019 19:40:21 | |
|---|---|---|---|
| Problema | Secventa 5 | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv5.in");
ofstream out("secv5.out");
unsigned int n,l,u,a[1100000];
unordered_map<unsigned int,int>m;
long long solve(int k)
{
m.clear();
long long j=1,ans=0;
for(int 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;
}
