Cod sursa(job #1644126)

Utilizator bogdanboboc97Bogdan Boboc bogdanboboc97 Data 9 martie 2016 21:36:54
Problema Cele mai apropiate puncte din plan Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.01 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <limits>
#include <numeric>
#include <cstring>
#include <string>
#include <queue>
#include <set>
#include <cmath>
#include <fstream>
#include <cstdlib>
#include <iomanip>
#include <map>
#define pb push_back
#define mp make_pair
#define INF numeric_limits<long long>::max()
#define bit(x) (-x)&x
#define int64 long long
using namespace std;
ifstream in("cmap.in");
ofstream out("cmap.out");
#define point pair<int,int>
#define x first
#define y second
inline int64 dist(point a,point b)
{
    return (a.x-b.x)*1LL*(a.x-b.x)+(a.y-b.y)*1LL*(a.y-b.y);
}
bool comp(point a,point b)
{
    if(a.x!=b.x)
        return a.x < b.x;
    return a.y < b.y;
}
int n;
point a[100002];
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
        in>>a[i].x>>a[i].y;
    sort(a+1,a+n+1,comp);
    int64 sol=INF;
    for(int i=1;i<=n;i++)
    for(int j=i+1;j<=n && j<=i+7;j++)
        sol=min(sol,dist(a[i],a[j]));
    out<<fixed<<setprecision(6)<<sqrt(double(sol))<<'\n';
    return 0;
}