Pagini recente » Cod sursa (job #2094596) | Cod sursa (job #1016622) | Cod sursa (job #2899959) | Cod sursa (job #1367593) | Cod sursa (job #2399877)
#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 i,j=1,cate=0;ll ans=0;
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;
}