Cod sursa(job #62968)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 25 mai 2007 11:42:39
Problema Zoo Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
long int x[161], y[161],n,x1,x2,y1,y2,m,i,j,k,is;
void swap(int a,int b)
{	int aux;
	aux=x[a]; x[a]=x[b]; x[b]=aux;
	aux=y[a]; y[a]=y[b]; y[b]=aux;
  }

int heapdown(long int p, long int k)
 {	if(p>k/2) return 0;
  	is=2*p;
	if(p<k/2) if(x[2*p]<x[2*p+1]) is=2*p+1;
	if(x[p]<x[is]){ swap(p,is); heapdown(is,k);}
	return 0;
   }
int main()
{	FILE *f=fopen("zoo.in","r");
	FILE *g=fopen("zoo.out","w");
	fscanf(f,"%ld",&n);
	for(i=1;i<=n;i++) fscanf(f,"%ld%ld",&x[i],&y[i]);

	for(i=n/2;i>=1;i--) heapdown(i,n);
	for(i=n;i>=1;i--) { swap(1,i);
			    heapdown(1,i-1);
			   }

	fscanf(f,"%ld",&m);
	for(i=1;i<=m;i++)
	   { 	fscanf(f,"%ld%ld%ld%ld",&x1,&y1,&x2,&y2);
		k=0;
		for(j=1;j<=n;j++) if(x[j]>=x1)
					{ if(x[j]<=x2) if(y[j]>=y1) if(y[j]<=y2) k++;
 					     else break;
					  }
		fprintf(g,"%ld\n",k);
	    }
	fcloseall();
	return 0;
}