优先队列解此题
查看原帖
优先队列解此题
359614
Forever1507楼主2020/11/4 20:18
#include <bits/stdc++.h>
#define int long long
using namespace std;
struct node{
	int x,y;
}dd[1000005];
priority_queue<int>pq1,pq2;
signed main(){
	int x1,y1,x2,y2;
	cin>>x1>>y1>>x2>>y2;
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>dd[i].x>>dd[i].y;
		int aj=abs(dd[i].x-x1)*abs(dd[i].x-x1)+abs(dd[i].y-y1)*abs(dd[i].y-y1);
		int bj=abs(dd[i].x-x2)*abs(dd[i].x-x2)+abs(dd[i].y-y2)*abs(dd[i].y-y2);
		if(aj>bj){
			pq2.push(bj);
		}
		else{
			pq1.push(aj);
		}
	}
	cout<<pq2.top()+pq1.top();
	return 0;
}

感觉思路木有问题,样例也对,但RE一个WA6个,有神犇支援蒟蒻吗???

2020/11/4 20:18
加载中...