Pagini recente » Cod sursa (job #996196) | Cod sursa (job #584915) | Cod sursa (job #434757) | Cod sursa (job #1697736) | Cod sursa (job #2399880)
#include <fstream>
#include <unordered_map>
#define DIM (1<<20)+1
#define ll long long
using namespace std;
int v[DIM],n;
unordered_map <int,int> fr;
ll solve(int cnt) {
int cate=0;ll ans=0,i,j=1;
for (i=1;i<=n;++i)
fr[v[i]]=0;
for (i=1;i<=n;++i) {
++fr[v[i]];
if (fr[v[i]]==1) ++cate;
while (cate>cnt && j<i) {
--fr[v[j]];
if (fr[v[j]]==0) --cate;
++j;
}
ans+=i-j+1;
}
return ans;
}
int main()
{ int l,u,i;
ifstream f("secv5.in");
ofstream g("secv5.out");
f>>n>>l>>u;
for (i=1;i<=n;++i)
f>>v[i];
g<<solve(u)-solve(l-1)<<'\n';
return 0;
}