Cod sursa(job #783721)

Utilizator misinozzz zzz misino Data 3 septembrie 2012 17:42:54
Problema Cele mai apropiate puncte din plan Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
ifstream f("cmap.in");
FILE *g;
int i,j,n;
double p,d;
struct punct{
	int x,y;
};
punct v[100001];
bool cmp(punct a,punct b)
{if(a.x<b.x)
	return 1;
return 0;
}
double dist1(int i,int j)
{return (double) sqrt ((double)(pow(v[i].x-v[j].x,double(2))+ pow (v[i].y-v[j].y,double(2))));
}
int main()
{f>>n;
g=fopen("cmap.out","w");
for(i=1;i<=n;++i)
	f>>v[i].x>>v[i].y;
sort(v+1,v+n+1,cmp);
d=1000000000ll;
for(i=1;i<=n;++i)
	for(j=i+1;j<=i+7&&j<=n;++j)
	{p=dist1(i,j);
	if(p<d)
		d=p;
	}
fprintf(g,"%.6lf",d);
return 0;
}