CSES - Datatähti 2021 loppu - Results
Submission details
Task:Kolmijako
Sender:Ugi
Submission time:2021-01-23 16:54:27 +0200
Language:PyPy3
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1, 2details
#2ACCEPTED0.05 s1, 2details
#30.05 s1, 2details
#40.05 s1, 2details
#5ACCEPTED0.05 s1, 2details
#60.05 s1, 2details
#70.05 s1, 2details
#8ACCEPTED0.05 s1, 2details
#90.05 s2details
#100.05 s2details
#110.05 s2details
#12ACCEPTED0.05 s2details
#130.05 s2details
#140.05 s2details
#15ACCEPTED0.05 s2details

Code

num = int(input())
sum1 = sum(range(num+1))
checks = [True for x in range(num+1)]
def main():
    if num == 3:
        print("1 2 3")
        return
    if (sum1)%3 != 0:
        print("IMPOSSIBLE")
        return
    aim = sum1//3
    li = {}
    num2 = 0
    last = 0
    for x in range(1,num+1)[::-1]:
        if x + num2 <= aim and aim-num2 >= x:
            last = x
            num2 += x
            li[x] = 1
        else:
            break
    save = aim-num2
    li[save] = 1
    num3 = 0
    for x in range(1,last)[::-1]:
        if x + num3 <= aim and aim-num3 >= x:
            if x != save:
                last = x
                num3 += x
                li[x] = 2
    print(" ".join(map(str,[li.get(x,3) for x in range(1,num+1)])))

main()

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
3

correct output
1 2 3 

user output
1 2 3

Test 2

Group: 1, 2

Verdict: ACCEPTED

input
4

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 3

Group: 1, 2

Verdict:

input
5

correct output
1 3 1 3 2 

user output
2 3 3 2 1

Test 4

Group: 1, 2

Verdict:

input
6

correct output
1 3 2 2 1 3 

user output
1 2 3 3 2 1

Test 5

Group: 1, 2

Verdict: ACCEPTED

input
7

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 6

Group: 1, 2

Verdict:

input
8

correct output
2 3 1 2 3 3 2 1 

user output
3 3 3 1 2 3 2 1

Test 7

Group: 1, 2

Verdict:

input
9

correct output
1 2 3 1 2 3 3 2 1 

user output
3 3 3 3 3 1 2 2 1

Test 8

Group: 1, 2

Verdict: ACCEPTED

input
10

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 9

Group: 2

Verdict:

input
42

correct output
1 3 2 2 1 3 1 2 3 3 2 1 1 2 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

Test 10

Group: 2

Verdict:

input
95

correct output
1 3 1 3 2 1 2 3 3 2 1 1 2 3 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

Test 11

Group: 2

Verdict:

input
96

correct output
1 3 2 2 1 3 1 2 3 3 2 1 1 2 3 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

Test 12

Group: 2

Verdict: ACCEPTED

input
97

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 13

Group: 2

Verdict:

input
98

correct output
2 3 1 2 3 3 2 1 1 2 3 3 2 1 1 ...

user output
3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 ...

Test 14

Group: 2

Verdict:

input
99

correct output
1 2 3 1 2 3 3 2 1 1 2 3 3 2 1 ...

user output
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

Test 15

Group: 2

Verdict: ACCEPTED

input
100

correct output
IMPOSSIBLE

user output
IMPOSSIBLE