Pagini recente » Cod sursa (job #2413000) | Cod sursa (job #1283965) | Cod sursa (job #178075) | Cod sursa (job #1401048) | Cod sursa (job #23529)
Cod sursa(job #23529)
#include<stdio.h>
typedef struct nod
{
long inf;
nod *urm,*prec;
}lsi;
lsi *prim,*ultim,*q;
long n,m;
FILE *f=fopen("stramosi.in","r");
void citire()
{
long i;
fscanf(f,"%ld %ld",&n,&m);
prim=ultim=0;
if(!prim)
{
prim=new lsi;
fscanf(f,"%ld",&prim->inf);
ultim=prim;
prim->urm=0;
prim->prec=0;
}
for(i=2;i<=n;i++)
{
q=new lsi;
fscanf(f,"%ld",&q->inf);
q->urm=0;
q->prec=ultim;
ultim->urm=q;
ultim=q;
}
}
int cond()
{
long p,t,i,o,j;
fscanf(f,"%ld %ld",&p,&t);
for(i=1;i<=p;i++)
if(i==1)
q=prim;
else
q=q->urm;
for(j=1;j<t;j++)
{
o=q->inf;
if(o<p&&o!=0)
{for(i=p;i>o;i--)
q=q->prec;
}
else
if(o>p&&o!=0)
{for(i=p;i<o;i++)
q=q->urm;
}
else
return 0;
}
return q->inf;
}
int main()
{
long i;
citire();
FILE *g=fopen("stramosi.out","w");
for(i=1;i<=m;i++)
fprintf(g,"%ld\n",cond());
fclose(f);
fclose(g);
return 0;
}