Cod sursa(job #1626358)

Utilizator Bot32King Max Bot32 Data 3 martie 2016 02:38:21
Problema Cele mai apropiate puncte din plan Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <algorithm>
#include <iomanip>
#include <cmath>
using namespace std;
#define ll long long
#define nrmax 100001
ifstream f("cmap.in");
ofstream g("cmap.out");
struct punct
{
    ll x , y;
}v[nrmax];
ll n , amin = 999999999999999999;
ll dist ( punct a, punct b )
{
    return (b.x-a.x)*(b.x-a.x) + (b.y-a.y)*(b.y-a.y);
}
bool criteriu ( const punct a , const punct b )
{
    return a.x < b.x;
}
int main()
{
    f >> n;
    for ( int i = 1; i <= n ; i++ ) f >> v[i].x >> v[i].y;
    sort(v+1,v+n+1,criteriu);
    for ( int i = 1; i < n ; i++ )
        for ( int j = i+1; j <= i+7 and j <= n ; j++ )
            amin = min ( amin , dist(v[i],v[j]));
    g << fixed << setprecision(8) << sqrt(amin);
    return 0;
}