Cod sursa(job #1630321)

Utilizator gerd13David Gergely gerd13 Data 5 martie 2016 01:13:51
Problema Cele mai apropiate puncte din plan Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <fstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#define ll long long
using namespace std;
const ll INF = 0x3f3f3f3f ;
struct unu {
    ll x, y;
} doi[100005];
ll dist(unu a, unu b) {
    return (b.x - a.x) * (b.x - a.x)
           + (b.y - a.y) * (b.y - a.y) ;
}
int N ;
bool cmp(unu a, unu b) {
    return a.x < b.x ;
}
int main() {
    ifstream f("cmap.in");
    ofstream g("cmap.out");
    f>>N;
    for(int i = 1 ; i <= N ; ++ i)
       f>>doi[i].x>>doi[i].y;

    sort(doi + 1, doi + N  + 1, cmp) ;
    ll big = INF ;
    for(int i = 1 ; i < N ; ++ i)
        for(int j = i + 1 ; j <= i + 7 && j <= N; ++ j)
            big = min(big, dist(doi[i], doi[j]));
            g<<setprecision(9)<<sqrt(big) ;
    return 0;
}