Cod sursa(job #833863)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 13 decembrie 2012 10:28:53
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<utility>
using namespace std;
pair<int,int> s[100010];
long long sol=1LL<<60;
int n,i,j,x,y;
long long dist(int a,int b)
{
    return (s[a].first-s[b].first)*(s[a].first-s[b].first) + (s[a].second-s[b].second)*(s[a].second-s[b].second);
}
int main()
{
    freopen("cmap.in","r",stdin);
    freopen("cmap.out","w",stdout);
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&x,&y);
        s[i]=make_pair(x,y);
    }
    sort(s+1,s+n+1);
    for(i=1;i<=n;i++)
    {
        for(j=i+1;j<=7&&j<=n;j++)
        {
            sol=min(sol,dist(i,j));
        }
    }
    printf("%.6f",sqrt((double)sol));
    return 0;
}