#include <stdio.h>
#include <math.h>
int main() {
int err, n, Tx, Ty;
scanf("%d %d", &Tx
, &Ty
);
int closestHeadIndex = -1;
int closestTorsoIndex1 = -1;
int closestTorsoIndex2 = -1;
double minHeadDistance = 2000; // maximum possible distance
double minTorsoDistance1 = 2000;
double minTorsoDistance2 = 2000;
for (int i = 0; i < n; ++i) {
int x, y;
double distance
= sqrt(pow(x
- Tx
, 2) + pow(y
- Ty
, 2)); double error = distance * 1000; // convert distance to milliradians
if (error <= err && y >= Ty) {
// hit in head
if (distance < minHeadDistance) {
minHeadDistance = distance;
closestHeadIndex = i;
}
} else if (error <= err * 2 && y >= Ty) {
// hit in torso
if (distance < minTorsoDistance1) {
minTorsoDistance2 = minTorsoDistance1;
closestTorsoIndex2 = closestTorsoIndex1;
minTorsoDistance1 = distance;
closestTorsoIndex1 = i;
} else if (distance < minTorsoDistance2) {
minTorsoDistance2 = distance;
closestTorsoIndex2 = i;
}
}
}
if (closestHeadIndex != -1) {
// Found a hide site to hit in head
printf("%d\n", closestHeadIndex
); } else if (closestTorsoIndex1 != -1 && closestTorsoIndex2 != -1) {
// Found two hide sites to hit in torso
printf("%d %d\n", closestTorsoIndex1
, closestTorsoIndex2
); } else {
// No suitable hide sites found
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBlcnIsIG4sIFR4LCBUeTsKICAgIHNjYW5mKCIlZCIsICZlcnIpOwogICAgc2NhbmYoIiVkIiwgJm4pOwogICAgc2NhbmYoIiVkICVkIiwgJlR4LCAmVHkpOwoKICAgIGludCBjbG9zZXN0SGVhZEluZGV4ID0gLTE7CiAgICBpbnQgY2xvc2VzdFRvcnNvSW5kZXgxID0gLTE7CiAgICBpbnQgY2xvc2VzdFRvcnNvSW5kZXgyID0gLTE7CiAgICBkb3VibGUgbWluSGVhZERpc3RhbmNlID0gMjAwMDsgLy8gbWF4aW11bSBwb3NzaWJsZSBkaXN0YW5jZQogICAgZG91YmxlIG1pblRvcnNvRGlzdGFuY2UxID0gMjAwMDsKICAgIGRvdWJsZSBtaW5Ub3Jzb0Rpc3RhbmNlMiA9IDIwMDA7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBpbnQgeCwgeTsKICAgICAgICBzY2FuZigiJWQgJWQiLCAmeCwgJnkpOwoKICAgICAgICBkb3VibGUgZGlzdGFuY2UgPSBzcXJ0KHBvdyh4IC0gVHgsIDIpICsgcG93KHkgLSBUeSwgMikpOwogICAgICAgIGRvdWJsZSBlcnJvciA9IGRpc3RhbmNlICogMTAwMDsgLy8gY29udmVydCBkaXN0YW5jZSB0byBtaWxsaXJhZGlhbnMKCiAgICAgICAgaWYgKGVycm9yIDw9IGVyciAmJiB5ID49IFR5KSB7CiAgICAgICAgICAgIC8vIGhpdCBpbiBoZWFkCiAgICAgICAgICAgIGlmIChkaXN0YW5jZSA8IG1pbkhlYWREaXN0YW5jZSkgewogICAgICAgICAgICAgICAgbWluSGVhZERpc3RhbmNlID0gZGlzdGFuY2U7CiAgICAgICAgICAgICAgICBjbG9zZXN0SGVhZEluZGV4ID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IgPD0gZXJyICogMiAmJiB5ID49IFR5KSB7CiAgICAgICAgICAgIC8vIGhpdCBpbiB0b3JzbwogICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBtaW5Ub3Jzb0Rpc3RhbmNlMSkgewogICAgICAgICAgICAgICAgbWluVG9yc29EaXN0YW5jZTIgPSBtaW5Ub3Jzb0Rpc3RhbmNlMTsKICAgICAgICAgICAgICAgIGNsb3Nlc3RUb3Jzb0luZGV4MiA9IGNsb3Nlc3RUb3Jzb0luZGV4MTsKCiAgICAgICAgICAgICAgICBtaW5Ub3Jzb0Rpc3RhbmNlMSA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgY2xvc2VzdFRvcnNvSW5kZXgxID0gaTsKICAgICAgICAgICAgfSBlbHNlIGlmIChkaXN0YW5jZSA8IG1pblRvcnNvRGlzdGFuY2UyKSB7CiAgICAgICAgICAgICAgICBtaW5Ub3Jzb0Rpc3RhbmNlMiA9IGRpc3RhbmNlOwogICAgICAgICAgICAgICAgY2xvc2VzdFRvcnNvSW5kZXgyID0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBpZiAoY2xvc2VzdEhlYWRJbmRleCAhPSAtMSkgewogICAgICAgIC8vIEZvdW5kIGEgaGlkZSBzaXRlIHRvIGhpdCBpbiBoZWFkCiAgICAgICAgcHJpbnRmKCIlZFxuIiwgY2xvc2VzdEhlYWRJbmRleCk7CiAgICB9IGVsc2UgaWYgKGNsb3Nlc3RUb3Jzb0luZGV4MSAhPSAtMSAmJiBjbG9zZXN0VG9yc29JbmRleDIgIT0gLTEpIHsKICAgICAgICAvLyBGb3VuZCB0d28gaGlkZSBzaXRlcyB0byBoaXQgaW4gdG9yc28KICAgICAgICBwcmludGYoIiVkICVkXG4iLCBjbG9zZXN0VG9yc29JbmRleDEsIGNsb3Nlc3RUb3Jzb0luZGV4Mik7CiAgICB9IGVsc2UgewogICAgICAgIC8vIE5vIHN1aXRhYmxlIGhpZGUgc2l0ZXMgZm91bmQKICAgICAgICBwcmludGYoImFib3J0XG4iKTsKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=