Pagini recente » Cod sursa (job #2200248) | Cod sursa (job #360887) | Cod sursa (job #1766903) | Cod sursa (job #190277) | Cod sursa (job #1810107)
#include <cmath>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
typedef pair<double, double> Point;
const int maxN = 100000;
Point v[maxN + 5];
#ifdef INFOARENA
#include <fstream>
ifstream cin("cmap.in");
ofstream cout("cmap.out");
#endif // INFOARENA
inline double dist(int i, int j) {
return sqrt(1.0 * (v[i].first - v[j].first) * (v[i].first - v[j].first) + 1.0 * (v[i].second - v[j].second) * (v[i].second - v[j].second));
}
int main() {
int N;
cin >> N;
for(int i = 1; i <= N; ++ i)
cin >> v[i].first >> v[i].second;
sort(v + 1, v + N + 1);
double d = dist(1, N);
for(int i = 1; i <= N; ++ i)
for(int j = i + 1; j <= N and v[j].first - v[i].first <= d; ++ j)
d = min(d, dist(i, j));
cout << fixed << setprecision(6) << d << '\n';
return 0;
}