Submission details
Task:Entrepreneur
Sender:aalto26aw_006
Submission time:2026-09-02 17:13:13 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.09 sdetails
#7ACCEPTED0.10 sdetails
#8ACCEPTED0.12 sdetails
#9ACCEPTED0.63 sdetails
#10--details
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.04 sdetails

Code

import math
n, t = input().split()

n = int(n)
t = int(t)

ks = input().split()
ks = [int(k) for k in ks]





estimated = sum([(1/k) for k in ks])

lowest_time = math.ceil(t / estimated)


cars_done = 0
cost_one_more = []



for k in ks:
    machine_done = lowest_time // k
    time_one_more = (machine_done + 1) * k

    cars_done += machine_done
    cost_one_more.append((time_one_more, k))
    # for i in range(100):
    #     cost_one_more.append(cost + i * k)


cost_one_more.sort()

needed = t - cars_done
total_time = lowest_time


for i in range(needed):
    best_time, k = cost_one_more[0]
    total_time = max(total_time, best_time)
    cost_one_more[0] = (best_time + k, k)
    cost_one_more.sort()



# print(lowest_time, needed, cost_one_more)

print(total_time)

Test details

Test 1

Verdict: ACCEPTED

input
10 10
6 5 1 2 1 5 10 4 6 6

correct output
4

user output
4

Test 2

Verdict: ACCEPTED

input
10 10
6 6 4 3 4 9 3 2 6 10

correct output
6

user output
6

Test 3

Verdict: ACCEPTED

input
10 10
5 4 10 7 8 4 1 8 9 2

correct output
5

user output
5

Test 4

Verdict: ACCEPTED

input
1 1000000000
1

correct output
1000000000

user output
1000000000

Test 5

Verdict: ACCEPTED

input
1 1000000000
1000000000

correct output
1000000000000000000

user output
1000000000000000000

Test 6

Verdict: ACCEPTED

input
1000 1000
271 687 392 992 11 410 702 870...

correct output
223

user output
223

Test 7

Verdict: ACCEPTED

input
1000 1000
598 523 703 794 737 689 724 26...

correct output
282

user output
282

Test 8

Verdict: ACCEPTED

input
200000 1000000000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
5000

user output
5000

Test 9

Verdict: ACCEPTED

input
200000 1
760045594 599341056 300698860 ...

correct output
8214

user output
8214

Test 10

Verdict:

input
200000 1000000000
33941840 210038922 596070148 7...

correct output
371045814100

user output
(empty)

Test 11

Verdict: ACCEPTED

input
25 1000000000
1000000000 1 1 1 1 1 1 1 1 1 1...

correct output
41666667

user output
41666667

Test 12

Verdict: ACCEPTED

input
12 1000000000
1 1 1 1 1 1 1 1 1 1 1 10000000...

correct output
90909091

user output
90909091

Test 13

Verdict: ACCEPTED

input
23 1000000000
1000000000 1000000000 10000000...

correct output
43478261000000000

user output
43478261000000000

Test 14

Verdict: ACCEPTED

input
3 3
10 11 12

correct output
12

user output
12