Pagini recente » Cod sursa (job #241480) | Cod sursa (job #2104465) | Cod sursa (job #2913554) | Cod sursa (job #1794947) | Cod sursa (job #1681625)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <limits.h>
#include <cmath>
#include <iomanip>
using namespace std;
struct pct {
long long x;
long long y;
};
ifstream in("cmap.in");
ofstream out("cmap.out");
pct v[100003];
bool cmp(pct a, pct b) {
if(a.x != b.x)
return a.x < b.x;
else
return a.y < b.y;
}
inline long long dist(pct a, pct b) {
return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
}
int main() {
int n;
in >> n;
for(int i = 1; i <= n; i++)
in >> v[i].x >> v[i].y;
sort(v+1, v+n+1, cmp);
long long mi = dist(v[1], v[2]);
int j;
for(int i = 3; i <= n; i++)
for(int j = i-1; (v[i].x-v[j].x)*(v[i].x-v[j].x) < mi && j >= 1; j--)
if(dist(v[i], v[j]) < mi)
mi = dist(v[i], v[j]);
out << fixed << setprecision(6) << sqrt(mi);
return 0;
}