Find two distinct positions (p)

Added: 2025-09-13 00:31:09

Question Image

Find two distinct positions (p)

Answer

✏️ Edit
import sys

def main():
    data = list(map(int, sys.stdin.read().split()))
    if len(data) < 3:
        print("IMPOSSIBLE")
        return

    n, x = data[0], data[1]
    a = data[2:2+n]
    if len(a) != n:
        print("IMPOSSIBLE")
        return

    pos = {}  # value -> first index seen
    for i, v in enumerate(a):
        need = x - v
        if need in pos:
            # larger index first (this matched your earlier “2 1” expectation)
            i1, i2 = i + 1, pos[need] + 1
            print(i1, i2)
            return
        if v not in pos:
            pos[v] = i

    print("IMPOSSIBLE")

if __name__ == "__main__":
    main()