CSES - Leirikisa 9.12.2021 - Results
Submission details
Task:Lukujono
Sender:okkokko
Submission time:2021-12-09 16:51:10 +0200
Language:Python3 (PyPy3)
Status:READY
Result:16
Feedback
groupverdictscore
#1ACCEPTED16
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.05 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.05 s1details
#4ACCEPTED0.06 s1details
#5ACCEPTED0.06 s1details
#6ACCEPTED0.05 s1details
#7ACCEPTED0.05 s1details
#8ACCEPTED0.06 s1details
#9--2details
#10--2details
#11--2details
#12--2details
#13--2details
#14--2details
#15--2details
#16--2details
#17--3details
#18--3details
#19--3details
#20--3details
#21--3details
#22--3details
#23--3details
#24--3details

Code

# n = int(input())
# u = [0, 1]
# for i in range(2, n + 1):
#     u.append(sum(u[i // j] for j in range(2, i + 1)))
# print(u[-1])

n = int(input())
u = {0: 0, 1: 1}


def U(x):
    if x not in u:
        # u[x] = sum(U(x // j) for j in range(2, x // 2 + 1)) + (  # sum(U(x // j) for j in range(x // 2 + 1, x + 1))
        #     x - (x // 2)
        # )
        g = 0
        # g += sum(U(x // j) for j in range(x // 2 + 1, x + 1))
        # g += sum(U(x // j) for j in range(x // 3 + 1, x // 2 + 1))
        # g += sum(U(x // j) for j in range(2, x // 3 + 1))
        # sum(U(x // j) for j in range(x // (n + 1) + 1, x // n + 1))
        # U(n) * (x // n - x // (n + 1))
        h = 1
        while x // h > 2:
            # sum(U(x // j) for j in range(x // (h + 1) + 1, x // h + 1))
            # is equal to
            g += U(h) * (x // h - x // (h + 1))
            h += 1

        g += sum(U(x // j) for j in range(2, x // h + 1))
        u[x] = g

    return u[x]


print(U(n))

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
542

correct output
11942

user output
11942

Test 2

Group: 1

Verdict: ACCEPTED

input
929

correct output
29913

user output
29913

Test 3

Group: 1

Verdict: ACCEPTED

input
801

correct output
23460

user output
23460

Test 4

Group: 1

Verdict: ACCEPTED

input
935

correct output
30006

user output
30006

Test 5

Group: 1

Verdict: ACCEPTED

input
998

correct output
33766

user output
33766

Test 6

Group: 1

Verdict: ACCEPTED

input
942

correct output
30490

user output
30490

Test 7

Group: 1

Verdict: ACCEPTED

input
736

correct output
20285

user output
20285

Test 8

Group: 1

Verdict: ACCEPTED

input
930

correct output
29975

user output
29975

Test 9

Group: 2

Verdict:

input
95404

correct output
90172356

user output
(empty)

Test 10

Group: 2

Verdict:

input
98060

correct output
94687572

user output
(empty)

Test 11

Group: 2

Verdict:

input
69495

correct output
52308390

user output
(empty)

Test 12

Group: 2

Verdict:

input
92197

correct output
85306979

user output
(empty)

Test 13

Group: 2

Verdict:

input
53418

correct output
32957881

user output
(empty)

Test 14

Group: 2

Verdict:

input
97377

correct output
93859995

user output
(empty)

Test 15

Group: 2

Verdict:

input
68065

correct output
50223001

user output
(empty)

Test 16

Group: 2

Verdict:

input
95463

correct output
90201672

user output
(empty)

Test 17

Group: 3

Verdict:

input
74323456

correct output
8975396101231

user output
(empty)

Test 18

Group: 3

Verdict:

input
92132055

correct output
13006378374515

user output
(empty)

Test 19

Group: 3

Verdict:

input
55135704

correct output
5354656932672

user output
(empty)

Test 20

Group: 3

Verdict:

input
98613338

correct output
14631125716007

user output
(empty)

Test 21

Group: 3

Verdict:

input
75558302

correct output
9238208186405

user output
(empty)

Test 22

Group: 3

Verdict:

input
94968034

correct output
13713914468591

user output
(empty)

Test 23

Group: 3

Verdict:

input
52163652

correct output
4858985762438

user output
(empty)

Test 24

Group: 3

Verdict:

input
94830583

correct output
13674294022172

user output
(empty)