Pagini recente » Cod sursa (job #1632823) | Cod sursa (job #2612614) | Cod sursa (job #36266) | Cod sursa (job #2525558) | Cod sursa (job #46794)
Cod sursa(job #46794)
#include<stdio.h>
int main()
{
long x,n,m,a[250000],i,j,poz,zr[250000],q,p,fr[250000];
FILE *fin,*fout;
fin=fopen("stramosi.in","r");
fout=fopen("stramosi.out","w");
fscanf(fin,"%d%d",&n,&m);
long z=0;
a[0]=-1;
j=x=0;
for(i=1;i<=n;i++)
{
fscanf(fin,"%d",&a[i]);
if(!a[i]) z++;
zr[i]=z;
if(a[i]!=a[i-1])
{
//j++;
x=i;
}
fr[i]=x;
}
for(i=1;i<=m;i++)
{
fscanf(fin,"%d%d",&q,&p);
poz=q;
long pi=fr[poz];
int ext=0;
while(p && !ext)
{
poz=fr[poz];
p--;
poz--;
if(poz<=0) ext=1;
}
if(ext)
{
fprintf(fout,"0\n");
}else
{
if(zr[pi]==zr[poz])
fprintf(fout,"%d\n",fr[poz+1]-1);
else
fprintf(fout,"0\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}