CSES - Datatähti 2023 alku - Results
Submission details
Task:Kertoma
Sender:Erikoisjaakari
Submission time:2022-10-31 20:09:34 +0200
Language:Python3 (CPython3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1, 2, 3details
#2ACCEPTED0.02 s1, 2, 3details
#3ACCEPTED0.02 s1, 2, 3details
#4ACCEPTED0.02 s1, 2, 3details
#5ACCEPTED0.02 s1, 2, 3details
#60.02 s1, 2, 3details
#70.02 s2, 3details
#80.02 s2, 3details
#90.02 s2, 3details
#100.02 s2, 3details
#110.02 s3details
#120.02 s3details
#130.04 s3details
#140.06 s3details
#150.09 s3details
#160.10 s3details

Code

import math

# numerot kivaksi listaksi:
#  1 1 1 0 0 0 0 0 0 0 -> [0, 1, 2]
maarat = input().split()
numerot = []

for luku, maara in enumerate(maarat):
    maara = int(maara)
    for i in range(maara):
        numerot.append(luku) # ---tyhmä tyypitys juttu, kannattaa poistaa jotta voi käyttää esim. summaa

numerot.sort()


def unfactorial(luku):
    jakaja = 2
    while luku > 1:
        luku = luku / jakaja
        jakaja += 1
    return jakaja-1


# check from array

factoriallens = [1, 1, 1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 36, 37, 39, 41, 42, 44, 45, 47, 48, 50, 52, 53, 55, 57, 58, 60, 62, 63, 65, 67, 68, 70, 72, 74, 75, 77, 79, 81, 82, 84, 86, 88, 90, 91, 93, 95, 97, 99, 101, 102, 104, 106, 108, 110, 112, 114, 116, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 150, 152, 154, 156, 158, 160, 162, 164, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 206, 208, 210, 212, 214, 216, 218, 220, 222, 225, 227, 229, 231, 233, 235, 237, 239, 242, 244, 246, 248, 250, 252, 255, 257, 259, 261]
x = len(numerot)
for idx, length in enumerate(factoriallens):
    if length == x:
        possible = idx

# brute the answer

for i in range(possible-20,possible+20):
    if i < 2:
        continue
    x = math.factorial(i)
    # https://stackoverflow.com/questions/21270320/turn-a-single-number-into-single-digits-python
    test = [(x//(10**y))%10 for y in range(math.ceil(math.log(x, 10))-1, -1, -1)]
    test.sort()

    if numerot == test:
        print(unfactorial(x))
        break


# bruteforce

# test_int = 10
# while True:
#     x = math.factorial(test_int)
#     # https://stackoverflow.com/questions/21270320/turn-a-single-number-into-single-digits-python
#     test = [(x//(10**y))%10 for y in range(math.ceil(math.log(x, 10))-1, -1, -1)]
#     #test.sort()
#     testisumma = sum(test)
#     # print(test)
#     # some binary searching
#     print(test_int)
#     print(numeroidensumma,testisumma)
#     if numeroidensumma == testisumma:
#         print(unfactorial(x))
#         break
#     elif testisumma > numeroidensumma:
#         test_int += 10
#         print("suurempi")
#     elif testisumma < numeroidensumma:
#         test_int -= 1
#         print("pienempi")


    # if numerot == test:
    #     pass
    #     # print(x)
    #     # print(unfactorial(x))
    #     # break

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
0 0 1 0 0 0 0 0 0 0

correct output
2

user output
2

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
0 0 0 0 0 0 1 0 0 0

correct output
3

user output
3

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
0 0 1 0 1 0 0 0 0 0

correct output
4

user output
4

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
2 0 1 1 0 0 1 0 2 0

correct output
10

user output
10

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
9 3 1 1 2 2 3 1 6 1

correct output
27

user output
27

Test 6

Group: 1, 2, 3

Verdict:

input
10 4 3 4 3 2 2 4 3 7

correct output
36

user output
37

Test 7

Group: 2, 3

Verdict:

input
71 53 36 30 25 29 42 24 34 29

correct output
199

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 8

Group: 2, 3

Verdict:

input
71 33 46 38 27 45 36 21 35 35

correct output
205

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 9

Group: 2, 3

Verdict:

input
93 38 35 26 43 54 38 25 41 34

correct output
222

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 10

Group: 2, 3

Verdict:

input
100 33 33 45 36 43 38 54 56 36

correct output
242

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 11

Group: 3

Verdict:

input
3419 1797 1845 1849 1879 1791 ...

correct output
5959

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 12

Group: 3

Verdict:

input
4776 2695 2709 2781 2616 2753 ...

correct output
8391

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 13

Group: 3

Verdict:

input
20097 12282 12229 12214 12406 ...

correct output
32001

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 14

Group: 3

Verdict:

input
47934 29918 29878 29713 29984 ...

correct output
71718

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 15

Group: 3

Verdict:

input
84691 54156 54277 54533 54296 ...

correct output
123123

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...

Test 16

Group: 3

Verdict:

input
99098 63339 63878 64182 63904 ...

correct output
142663

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 34, in <module>
    f...