70分求助
查看原帖
70分求助
726139
残阳如血楼主2023/7/27 13:24
#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 1e5 + 10;
struct point {
	long long x, y, di;
} a, b, c[MAXN];
long long N, ansa = 0, ansb = 0;
inline long long dist(point p1, point p2) {
	return (p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y);
}
int main() {
	cin >> a.x >> a.y >> b.x >> b.y >> N;
	for (long long i = 0; i < N; i++) {
		cin >> c[i].x >> c[i].y;
//		cout << "导弹在 (" << c[i].x << ", " << c[i].y << ")\n";
		if (dist(c[i], a) <= ansa || dist(c[i], b) <= ansb) continue;
		if (dist(c[i], a) < dist(c[i], b)) {
			ansa = max(ansa, dist(c[i], a));
		} else ansb = max(ansb, dist(c[i], b));
	}
	cout << ansa + ansb;
	return 0;
}

提交记录

2023/7/27 13:24
加载中...