Pagini recente » Cod sursa (job #277276) | Cod sursa (job #2603700) | Cod sursa (job #2863523) | Cod sursa (job #499921) | Cod sursa (job #467272)
Cod sursa(job #467272)
#include<stdio.h>
#define NMAX 100010
struct POINT{int x;int y;};
POINT COOR,v[NMAX];
int n;
int main()
{
int i,j,q,pl1,max,cont;
freopen("cadrane.in","r",stdin);
freopen("cadrane.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i)
scanf("%d%d",&v[i].x,&v[i].y);
max=-1;
if (n<=127){
for (i=1;i<=n;++i){
pl1=100010;
for (j=1;j<=n;++j){
cont=0;
COOR.x=v[i].x;COOR.y=v[j].y;
for (q=1;q<=n;++q)
if ((v[q].x>=COOR.x&&v[q].y>=COOR.y)||(v[q].x<=COOR.x &&v[q].y<=COOR.y))
++cont;
if (cont<pl1)
pl1=cont;
}
if(pl1>max)
max=pl1;
}
}
else {
int poz=-1;
for (i=1;i<=n;++i){
pl1=100010;
cont=0;
COOR.x=v[i].x;COOR.y=v[i].y;
for (q=1;q<=n;++q)
if ((v[q].x>=COOR.x&&v[q].y>=COOR.y)||(v[q].x<=COOR.x &&v[q].y<=COOR.y))
++cont;
if (cont<pl1)
pl1=cont;
if(pl1>max){
poz=i;
max=pl1;
}
}
max=-1;
for (i=poz;i<=poz;++i){
pl1=100010;
for (j=1;j<=n;++j){
cont=0;
COOR.x=v[i].x;COOR.y=v[j].y;
for (q=1;q<=n;++q)
if ((v[q].x>=COOR.x&&v[q].y>=COOR.y)||(v[q].x<=COOR.x &&v[q].y<=COOR.y))
++cont;
if (cont<pl1)
pl1=cont;
}
if(pl1>max)
max=pl1;
}
}
printf("%d",max);
return 0;
}