Cod sursa(job #467259)

Utilizator Alexa_ioana_14Antoche Ioana Alexandra Alexa_ioana_14 Data 28 iunie 2010 13:38:49
Problema Cadrane Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 2 Marime 0.86 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define NM 100001
#define maxim(a,b) ((a>b)?a:b)
#define minim(a,b) ((a<b)?a:b)
int x[NM],y[NM],maxx,rez,N,ind[NM],maxxp;
bool compar(const int &i, const int &j)
{
	return x[i]<x[j];
}
int main()
{
	freopen("cadrane.in","r",stdin);
	freopen("cadrane.out","w",stdout);
	scanf("%d",&N);
	for (int i=0; i<N; ++i)
	{
		scanf("%d%d",&x[i],&y[i]);
		ind[i]=i;
	}
	sort(ind,ind+N,compar);
	for (int i=0; i<N; ++i)
	{
		maxxp=NM+1;
		int j;
		for (j=i; j<N&&x[ind[i]]==x[ind[j]]; ++j)
		{
			rez=0;
			for (int k=0; k<N; ++k)
			if ((((long long)x[ind[k]]-x[ind[j]]>0)&&(long long)y[ind[k]]-y[ind[j]]>0)||(((long long)x[ind[k]]-x[ind[j]]<0)&&(long long)y[ind[k]]-y[ind[j]]<0))
					++rez;
			maxxp=minim(rez,maxxp);
		}
		i=j-1;
		maxx=maxim(maxx,maxxp);
	}
	printf("%d",maxx);
	return 0;
}