乱搞能对?
查看原帖
乱搞能对?
1373205
dg114514楼主2024/12/31 19:54

rt

#include<bits/stdc++.h>
#define x first
#define y second
#define y1 fgjdshl
#define int long long
using namespace std;
typedef pair<int,int> PII;
PII a[500005];
int MAX[500005];
signed main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int n,tx,ty;
	int ans=LONG_LONG_MAX;
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i].x>>a[i].y,MAX[i]=min(n,i+850);
	stable_sort(a+1,a+n+1,[&](PII a,PII b){return a.x*a.y<b.x*b.y;});
	n=unique(a+1,a+n+1)-a-1;
	for(int i=1;i<=n;i++)
		for(int j=i+1;j<=MAX[i];j++){
			tx=a[i].x-a[j].x,ty=a[i].y-a[j].y;
			if(tx*tx+ty*ty<ans) ans=tx*tx+ty*ty;
		}
	printf("%.4Lf",sqrtl(ans));
} 
2024/12/31 19:54
加载中...