Pagini recente » Cod sursa (job #2067207) | Cod sursa (job #2724316) | Cod sursa (job #2351580) | Cod sursa (job #1067521) | Cod sursa (job #1018978)
#include <iostream>
#include <cstdio>
#include <tr1/unordered_set>
#include <vector>
using namespace std;
using namespace std::tr1;
unordered_set<int> hesh;
vector <int> vec;
int n,mi,ma,rasp;
void bec(int a, int nr)
{
if(a<n-1)
{
unordered_set<int>::iterator got;
got=hesh.find(vec[a]);
if(got==hesh.end())
{
if(nr<ma)
{
hesh.insert(vec[a]);
nr++;
if(nr>=mi)
{
rasp++;
cout<<"sir gasit cu "<<nr<<" elemente la pozitia "<<a+1<<endl;
}
bec(a+1,nr);
hesh.erase(vec[a]);
nr--;
bec(a+1,nr);
}
}
else
{
if(nr>=mi && nr<=ma)
{
rasp++;
cout<<"sir gasit cu "<<nr<<" elemente la pozitia "<<a+1<<endl;
}
bec(a+1,nr);
}
}
}
int main()
{
freopen("secv5.in","r",stdin);
freopen("secv5.out","w",stdout);
scanf("%d %d %d",&n,&mi,&ma);
int a;
for(int k=1;k<=n;k++)
{
scanf("%d",&a);
vec.push_back(a);
}
bec(0,0);
cout<<rasp<<endl;
return 0;
}