Wrong answer on test 5
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#define ll long long
using namespace std;
const ll P = 998244353;
const ll inv = 299473306;
int n;
ll x[100010], y[100010];
ll dist(ll x, ll y, ll xx, ll yy) {
return sqrt((x - xx) * (x - xx) + (y - yy) * (y - yy));
}
void solve() {
scanf("%d", &n);
for (int i = 1; i <= n; i ++ ) scanf("%lld%lld", &x[i], &y[i]);
ll xa, ya, xb, yb;
scanf("%lld%lld%lld%lld", &xa, &ya, &xb, &yb);
ll d = dist(xa, ya, xb, yb);
// printf("%lld\n", d);
for (int i = 1; i <= n; i ++ ) {
// printf("%lld\n", dist(x[i], y[i], xb, yb));
if ((dist(x[i], y[i], xa, ya) == 1 && dist(x[i], y[i], xb, yb) < d)
|| (dist(x[i], y[i], xa, ya) != 1 && dist(x[i], y[i], xb, yb) <= d)) {
printf("NO\n");
return;
}
}
printf("YES\n");
}
int main() {
int T;
scanf("%d", &T);
while (T -- ) solve();
return 0;
}
感谢!