Cod sursa(job #933213)

Utilizator raulstoinStoin Raul raulstoin Data 29 martie 2013 18:15:38
Problema Cele mai apropiate puncte din plan Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<vector>
#include<algorithm>
#include<cmath>
#define NMAX 100005
#define LL long long
#define PAIR pair<LL,LL> 
using namespace std;
LL sol=(1LL<<62);
PAIR v[NMAX];
int n;
void read()
{
	ifstream fin("cmap.in");
	fin>>n;
	for(int i=1;i<=n;i++)
		fin>>v[i].first>>v[i].second;
	sort(v+1,v+n+1);
	fin.close();
}
inline LL dist(PAIR a,PAIR b)
{
	return (b.first-a.first)*(b.first-a.first)+(b.second-a.second)*(b.second-a.second);
}
int main()
{
	read();
	int i,j;
	sol=dist(v[1],v[n]);
	for(i=1;i<=n;i++)
		for(j=i+1;j<=i+7 && j<=n;j++)
			sol=min(sol,dist(v[i],v[j]));
	ofstream fout("cmap.out");
	fout.precision(7);
	fout<<fixed<<sqrt(double(sol));
	fout.close();
	return 0;
}