Submission details
Task:3SUM
Sender:Iliana
Submission time:2025-10-20 17:30:53 +0300
Language:Python3 (PyPy3)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.07 sdetails
#10ACCEPTED0.10 sdetails
#11ACCEPTED0.11 sdetails
#12ACCEPTED0.21 sdetails
#13ACCEPTED0.11 sdetails
#14ACCEPTED0.11 sdetails
#15ACCEPTED0.11 sdetails
#16ACCEPTED0.18 sdetails
#17ACCEPTED0.23 sdetails
#18ACCEPTED0.12 sdetails
#19ACCEPTED0.10 sdetails
#20ACCEPTED0.21 sdetails
#21ACCEPTED0.12 sdetails
#22ACCEPTED0.11 sdetails
#23ACCEPTED0.04 sdetails

Code

size, target = map(int, input().split())
nums = list(map(int, input().split()))

arr = sorted([(nums[i], i + 1) for i in range(size)])
done = False

for i in range(size):
    a = target - arr[i][0]
    left, right = i + 1, size - 1
    while left < right:
        curr = arr[left][0] + arr[right][0]
        if curr == a:
            done = True
            ans = [arr[i][1], arr[left][1], arr[right][1]]
            print(*ans)
            break
        if curr < a:
            left += 1
        else:
            right -= 1
if done == False:
    print("IMPOSSIBLE")

Test details

Test 1

Verdict: ACCEPTED

input
1 3
1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 2

Verdict: ACCEPTED

input
3 5
1 3 2

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 3

Verdict: ACCEPTED

input
3 6
1 3 2

correct output
1 3 2

user output
1 3 2

Test 4

Verdict: ACCEPTED

input
3 7
3 2 1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 5

Verdict: ACCEPTED

input
7 3
2 1 1 2 2 1 1

correct output
2 3 7

user output
2 3 7
3 6 7

Test 6

Verdict: ACCEPTED

input
7 4
1 1 2 2 1 2 1

correct output
1 2 6

user output
1 2 6
2 5 6
5 7 6

Test 7

Verdict: ACCEPTED

input
7 5
1 2 1 2 2 1 1

correct output
1 2 5

user output
1 2 5
3 2 5
6 2 5
7 2 5

Test 8

Verdict: ACCEPTED

input
7 6
2 1 1 1 1 2 2

correct output
1 6 7

user output
1 6 7

Test 9

Verdict: ACCEPTED

input
5000 3
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1 2 5000

user output
1 2 5000
2 3 5000
3 4 5000
4 5 5000
5 6 5000
...

Test 10

Verdict: ACCEPTED

input
5000 4
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 11

Verdict: ACCEPTED

input
5000 6
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
714 3518 4240

user output
714 3518 4240

Test 12

Verdict: ACCEPTED

input
5000 919900245
663612758 9075403 585385629 98...

correct output
2787 465 2266

user output
2787 465 2266
726 1363 435
1955 2854 3116
295 2507 2481
4066 2900 2761
...

Test 13

Verdict: ACCEPTED

input
5000 999989608
12983 25966 38949 51932 64915 ...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 14

Verdict: ACCEPTED

input
5000 1000000000
65536 131072 196608 262144 327...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 15

Verdict: ACCEPTED

input
5000 642700000
6427 12854 19281 25708 32135 3...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 16

Verdict: ACCEPTED

input
5000 919900246
663612758 9075403 585385629 98...

correct output
193 1698 4019

user output
193 1698 4019
2488 86 672
4323 441 2500
3319 76 2564
1628 3095 2733
...

Test 17

Verdict: ACCEPTED

input
5000 919900247
663612758 9075403 585385629 98...

correct output
4258 470 1911

user output
4258 470 1911
796 4154 1575
4906 980 4845
4858 432 71
3579 4935 1342

Test 18

Verdict: ACCEPTED

input
5000 6
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 ...

correct output
4998 4999 5000

user output
4998 4999 5000

Test 19

Verdict: ACCEPTED

input
5000 919900247
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 20

Verdict: ACCEPTED

input
4999 919900245
9075403 585385629 987230075 83...

correct output
2786 464 2265

user output
2786 464 2265
725 1362 434
1954 2853 3115
294 2506 2480
4065 2899 2760
...

Test 21

Verdict: ACCEPTED

input
5000 1000000000
261323261 25262018 237798562 3...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 22

Verdict: ACCEPTED

input
5000 76305003
1 5088 10175 15262 20349 25436...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 23

Verdict: ACCEPTED

input
2 6
2 2

correct output
IMPOSSIBLE

user output
IMPOSSIBLE