Pagini recente » Cod sursa (job #95551) | Cod sursa (job #750258) | Cod sursa (job #2813643) | Cod sursa (job #1548746) | Cod sursa (job #396964)
Cod sursa(job #396964)
#include<fstream>
using namespace std;
unsigned long x,y,n,i,j,k,s,nr,da,t,gas;
struct nod{
nod *urm;
unsigned long nr;
};
void adaug(nod *prim, nod *ult, unsigned long x)
{
nod *p;
p = new nod;
p->urm = NULL;
p->nr = x;
if(prim == NULL)
prim=p;
else
ult->urm=p;
ult=p;
}
int getnrd(nod *prim)
{
if(prim==NULL)
return 0;
nod *p,*q;
int da=0;
int nr=0;
for(p=prim;p!=NULL;p=p->urm)
{
for(q=p->urm;q!=NULL;q=q->urm)
{
if(q->nr==p->nr)
{
da=1;
}
}
if(da)
nr++;
}
return nr;
}
int main()
{
ifstream f("secv5.in");
ofstream g("secv5.out");
f>>n>>x>>y;
nod *prim,*ult;
prim=ult=NULL;
nr=0;
nod *q;
for(i=1;i<=n;i++)
{
f>>t;
adaug(prim,ult,t);
nr=getnrd(prim);
if(nr>=x && nr<=y)
s++;
while(nr>y)
{
q=prim;
prim=prim->urm;
delete(q);
nr=getnrd(prim);
}
}
g<<s;
f.close();
g.close();
return 0;
}