Pagini recente » Cod sursa (job #531784) | Cod sursa (job #2841160) | Cod sursa (job #1623970) | Cod sursa (job #2686866) | Cod sursa (job #2559546)
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
ifstream f("secv5.in");
ofstream g("secv5.out");
unordered_map<int,int> um;
unordered_map<int,int>::iterator it;
vector<int> v;
int n, l, u, x;
ll ans = 0;
void Read()
{
f>>n>>l>>u;
for(int i = 1;i <= n;++i)
{
f>>x;
it = um.find(x);
if(it == um.end())
um.insert({x,1});
else
(*it).second++;
}
f.close();
}
void Solve()
{
for(it = um.begin();it != um.end();++it)
v.push_back((*it).second);
for(vector<int>::iterator i = v.begin();i != v.end();++i)
{
for(int j = l;j <= u;++j)
{
ll curent = 1;
if(i + j <= v.end())
{
for(vector<int>::iterator u = i;u < i + j;++u)
curent *= *u;
ans += curent;
}
}
}
g<<ans<<'\n';
g.close();
}
int main()
{
Read();
Solve();
return 0;
}