Task: | Kolmijako |
Sender: | tkok |
Submission time: | 2025-09-06 00:41:35 +0300 |
Language: | Python3 (PyPy3) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 23 |
#2 | ACCEPTED | 42 |
#3 | ACCEPTED | 35 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.04 s | 1, 2, 3 | details |
#2 | ACCEPTED | 0.06 s | 2, 3 | details |
#3 | ACCEPTED | 0.07 s | 3 | details |
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 |