Submission details
Task:Kolmijako
Sender:tkok
Submission time:2025-09-06 00:41:35 +0300
Language:Python3 (PyPy3)
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED23
#2ACCEPTED42
#3ACCEPTED35
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1, 2, 3details
#2ACCEPTED0.06 s2, 3details
#3ACCEPTED0.07 s3details

Code

t = int(input())

while t > 0:
    t -= 1

    n = int(input())

    luvut = list(range(1, n+1))
    sum = ((1+n) / 2) * n
    if sum % 3 == 0:
        tavoite = sum / 3
        joukko_a = []
        joukko_a_puute = tavoite
        ok = True
        while joukko_a_puute > 0:
            for i in range(len(luvut)-1, -1, -1):
                if luvut[i] <= joukko_a_puute:
                    v = luvut.pop(i)
                    joukko_a.append(v)
                    joukko_a_puute -= v
                    break
            else:
                print("NO")
                ok = False
                break
        if not ok:
            continue
        joukko_b = []
        joukko_b_puute = tavoite
        while joukko_b_puute > 0:
            for i in range(len(luvut) -1, -1, -1):
                if luvut[i] <= joukko_b_puute:
                    v = luvut.pop(i)
                    joukko_b.append(v)
                    joukko_b_puute -= v
                    break
            else:
                print("NO")
                ok = False
                break
        if not ok:
            continue
        joukko_c = luvut
        # tulokset:
        print("YES")
        print(len(joukko_a))
        print(" ".join(map(str, joukko_a)))
        print(len(joukko_b))
        print(" ".join(map(str, joukko_b)))
        print(len(joukko_c))
        print(" ".join(map(str, joukko_c)))
    else:
        print("NO")

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
15
1
2
3
4
...

correct output
NO
NO
NO
NO
YES
...

user output
NO
NO
NO
NO
YES
...
Truncated

Test 2

Group: 2, 3

Verdict: ACCEPTED

input
100
1
2
3
4
...

correct output
NO
NO
NO
NO
YES
...

user output
NO
NO
NO
NO
YES
...
Truncated

Test 3

Group: 3

Verdict: ACCEPTED

input
100
564
895
546
980
...

correct output
YES
188
1 6 12 7 18 13 24 19 30 25 36 ...

user output
YES
104
564 563 562 561 560 559 558 55...
Truncated