%:pragma GCC optimize() #include<bits/stdc++.h> #define DB double #define m (((l)+(r))>>1) #define sqr(x) ((x)*(x)) using namespace std; ; int n,tot; DB ans; struct point {DB x,y;}a[N],now[N]; inline DB dis(point u,point v) {return sqrt(sqr(u.x-v.x)+sqr(u.y-v.y));} inline bool cmp(point u,point v) {return u.x==v.x?u.y<v.y:u.x<v.x;} inline bool cmp0(point u,point v) {return u.y<v.y;} DB solve(int l,int r) { ==r) return dis(a[l],a[r]); DB ret=min(solve(l,m),solve(m+,r)); ; for (int i=l; i<=r; i++) if (fabs(a[i].x-a[m].x)<ret) now[++k]=a[i]; sort(now+,now++k,cmp0); ; i<k; i++) ; j<=k&&now[j].y-now[i].y<ret; j++) ret=min(ret,dis(now[i],now[j])); return ret; } int main() { scanf("%d",&n); ; i<=n; i++) scanf("%lf%lf",&a[i].x,&a[i].y); ) ; else ) ],a[])),; sort(a+,a++n,cmp); printf(,n)); ; }