Cod sursa(job #832977)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 11 decembrie 2012 19:26:15
Problema Cele mai apropiate puncte din plan Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<cstdio>
#include<utility>
#include<cmath>
#include<algorithm>
#define x first
#define y second
#define nmax 100005
using namespace std;
int n,i,j;
long long sol=(1LL<<63)-1;
pair<int,int> a[nmax];
long long dist(int x1,int y1,int x2,int y2)
{
    return (long long)(x2-x1)*(x2-x1)+(long long)(y2-y1)*(y2-y1);
}
int main()
{
    freopen("cmap.in","r",stdin);
    freopen("cmap.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++) scanf("%d%d",&a[i].x,&a[i].y);
    sort(a+1,a+n+1);
    for(i=1;i<=n;i++)
        for(j=i+1;j<=i+7&&j<=n;j++)
            sol=min(sol,dist(a[i].x,a[i].y,a[j].x,a[j].y));
    printf("%.6lf",sqrt((double)sol));
    return 0;
}