Submission details
Task:3SUM
Sender:Terror2654
Submission time:2025-10-20 16:42:14 +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.08 sdetails
#10ACCEPTED0.10 sdetails
#11ACCEPTED0.10 sdetails
#12ACCEPTED0.21 sdetails
#13ACCEPTED0.11 sdetails
#14ACCEPTED0.11 sdetails
#15ACCEPTED0.11 sdetails
#16ACCEPTED0.21 sdetails
#17ACCEPTED0.21 sdetails
#18ACCEPTED0.12 sdetails
#19ACCEPTED0.09 sdetails
#20ACCEPTED0.21 sdetails
#21ACCEPTED0.11 sdetails
#22ACCEPTED0.11 sdetails
#23ACCEPTED0.04 sdetails

Code

n, m = map(int, input().split())
l = list(map(int, input().split()))
t = 0
arr = []
for i in range(n):
    arr.append((l[i], i + 1))
arr.sort(key=lambda x: x[0])
for i in range(n):
        need = m - arr[i][0]
        l, r = i+1, n-1
        while l < r:
            s = arr[l][0] + arr[r][0]
            if s == need:
                print(*sorted([arr[i][1], arr[l][1], arr[r][1]]))
                t = 1
                break
            if s < need:
                l += 1
            else:
                r -= 1
if t == 0:
    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 2 3

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 6 7

Test 7

Verdict: ACCEPTED

input
7 5
1 2 1 2 2 1 1

correct output
1 2 5

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

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
465 2266 2787
435 726 1363
1955 2854 3116
295 2481 2507
2761 2900 4066
...

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
86 672 2488
441 2500 4323
76 2564 3319
1628 2733 3095
...

Test 17

Verdict: ACCEPTED

input
5000 919900247
663612758 9075403 585385629 98...

correct output
4258 470 1911

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

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
464 2265 2786
434 725 1362
1954 2853 3115
294 2480 2506
2760 2899 4065
...

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