#include <stdio.h>
#include <math.h>
typedef struct {
int x, y;
} Point;
int main() {
int err, n;
scanf("%d", &err
); // Read error tolerance scanf("%d", &n
); // Read number of hide sites
Point target; // Read target coordinates
scanf("%d %d", &target.
x, &target.
y);
Point hide_sites[n]; // Read hide site coordinates
for (int i = 0; i < n; ++i) {
scanf("%d %d", &hide_sites
[i
].
x, &hide_sites
[i
].
y); }
int best_hide_site = -1; // Initialize the best hide site index
int min_error = 2000; // Initialize the minimum error to a value greater than the allowed error
// Iterate through hide sites and find the one with minimum error
for (int i = 0; i < n; ++i) {
int distance_squared = (hide_sites[i].x - target.x) * (hide_sites[i].x - target.x) +
(hide_sites[i].y - target.y) * (hide_sites[i].y - target.y);
int error
= sqrt(distance_squared
);
// If the error is within the allowed tolerance and less than the minimum error, update the best hide site
if (error <= err && error < min_error) {
min_error = error;
best_hide_site = i;
}
}
// If a suitable hide site is found, print its index
if (best_hide_site != -1) {
printf("%d\n", best_hide_site
); } else {
// If no suitable hide site is found, print 'abort'
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgeCwgeTsKfSBQb2ludDsKCmludCBtYWluKCkgewogICAgaW50IGVyciwgbjsKICAgIHNjYW5mKCIlZCIsICZlcnIpOyAvLyBSZWFkIGVycm9yIHRvbGVyYW5jZQogICAgc2NhbmYoIiVkIiwgJm4pOyAgIC8vIFJlYWQgbnVtYmVyIG9mIGhpZGUgc2l0ZXMKCiAgICBQb2ludCB0YXJnZXQ7IC8vIFJlYWQgdGFyZ2V0IGNvb3JkaW5hdGVzCiAgICBzY2FuZigiJWQgJWQiLCAmdGFyZ2V0LngsICZ0YXJnZXQueSk7CgogICAgUG9pbnQgaGlkZV9zaXRlc1tuXTsgLy8gUmVhZCBoaWRlIHNpdGUgY29vcmRpbmF0ZXMKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CiAgICAgICAgc2NhbmYoIiVkICVkIiwgJmhpZGVfc2l0ZXNbaV0ueCwgJmhpZGVfc2l0ZXNbaV0ueSk7CiAgICB9CgogICAgaW50IGJlc3RfaGlkZV9zaXRlID0gLTE7IC8vIEluaXRpYWxpemUgdGhlIGJlc3QgaGlkZSBzaXRlIGluZGV4CiAgICBpbnQgbWluX2Vycm9yID0gMjAwMDsgICAgLy8gSW5pdGlhbGl6ZSB0aGUgbWluaW11bSBlcnJvciB0byBhIHZhbHVlIGdyZWF0ZXIgdGhhbiB0aGUgYWxsb3dlZCBlcnJvcgoKICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBoaWRlIHNpdGVzIGFuZCBmaW5kIHRoZSBvbmUgd2l0aCBtaW5pbXVtIGVycm9yCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgewogICAgICAgIGludCBkaXN0YW5jZV9zcXVhcmVkID0gKGhpZGVfc2l0ZXNbaV0ueCAtIHRhcmdldC54KSAqIChoaWRlX3NpdGVzW2ldLnggLSB0YXJnZXQueCkgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhpZGVfc2l0ZXNbaV0ueSAtIHRhcmdldC55KSAqIChoaWRlX3NpdGVzW2ldLnkgLSB0YXJnZXQueSk7CiAgICAgICAgaW50IGVycm9yID0gc3FydChkaXN0YW5jZV9zcXVhcmVkKTsKCiAgICAgICAgLy8gSWYgdGhlIGVycm9yIGlzIHdpdGhpbiB0aGUgYWxsb3dlZCB0b2xlcmFuY2UgYW5kIGxlc3MgdGhhbiB0aGUgbWluaW11bSBlcnJvciwgdXBkYXRlIHRoZSBiZXN0IGhpZGUgc2l0ZQogICAgICAgIGlmIChlcnJvciA8PSBlcnIgJiYgZXJyb3IgPCBtaW5fZXJyb3IpIHsKICAgICAgICAgICAgbWluX2Vycm9yID0gZXJyb3I7CiAgICAgICAgICAgIGJlc3RfaGlkZV9zaXRlID0gaTsKICAgICAgICB9CiAgICB9CgogICAgLy8gSWYgYSBzdWl0YWJsZSBoaWRlIHNpdGUgaXMgZm91bmQsIHByaW50IGl0cyBpbmRleAogICAgaWYgKGJlc3RfaGlkZV9zaXRlICE9IC0xKSB7CiAgICAgICAgcHJpbnRmKCIlZFxuIiwgYmVzdF9oaWRlX3NpdGUpOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBJZiBubyBzdWl0YWJsZSBoaWRlIHNpdGUgaXMgZm91bmQsIHByaW50ICdhYm9ydCcKICAgICAgICBwcmludGYoImFib3J0XG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
MTgKMTEKMTU2MzU4OCAxNDg2Mzc5CjE1NjE3NjggMTQ4NjY1MgoxNTY1NTc4IDE0ODc4ODMKMTU2NTMyMyAxNDg3NjcxCjE1NjU0NzggMTQ4NTcwMQoxNTYzNzg5IDE0ODgzNTcKMTU2NDk3NSAxNDg0NzI4CjE1NjM4MDcgMTQ4NTg2NAoxNTYzMTg3IDE0ODY3ODYKMTU2MzU0NyAxNDg3Njk3CjE1NjQ1NjcgMTQ4ODE5NAoxNTYxNzk2IDE0ODgxOTM=
18
11
1563588 1486379
1561768 1486652
1565578 1487883
1565323 1487671
1565478 1485701
1563789 1488357
1564975 1484728
1563807 1485864
1563187 1486786
1563547 1487697
1564567 1488194
1561796 1488193