251382026-02-18 08:36:44vyrallMaximális szorzat (50 pont)pypy3Hibás válasz 15/50605ms64000 KiB
n, k, b = map(int, input().split())
nums = [int(i) for i in input().split()]
neg = len([i for i in nums if i < 0])
modder = 1000000007

def prod(iterator):
    mult = 1
    for j in iterator:
        mult *= j
    return mult % modder

if neg < b:
    print(-1)
else:
    while neg - b != 0:
        idx, mx = max(enumerate([i for i in nums if i < 0]), key=lambda x: x[1])
        nums[idx] = 0
        k += mx
        neg -= 1
    special = [[j, x] for j, x in enumerate(nums) if x >= 0]
    if special:
        for i in range(k):
            og, tup = min(enumerate(special), key=lambda x: x[1][1])
            nums[tup[0]] += 1
            special[og][1] += 1
    else:
        for i in range(k):
            idx, _ = min(enumerate(nums), key=lambda x: x[1])
            nums[idx] += 1

    if k >= 0:
        print(prod(nums))
    else:
        print(-1)
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/50
1Elfogadva0/039ms19888 KiB
2Elfogadva0/039ms19828 KiB
3Elfogadva0/043ms19648 KiB
4Elfogadva0/046ms19652 KiB
5Hibás válasz0/0433ms23980 KiB
6Elfogadva2/245ms19688 KiB
7Elfogadva2/248ms21388 KiB
8Elfogadva2/246ms21552 KiB
9Elfogadva2/268ms21988 KiB
10Időlimit túllépés0/2601ms23128 KiB
11Időlimit túllépés0/2602ms40708 KiB
12Időlimit túllépés0/1587ms42132 KiB
13Hibás válasz0/1100ms21736 KiB
14Időlimit túllépés0/1579ms23284 KiB
15Időlimit túllépés0/1584ms59568 KiB
16Időlimit túllépés0/1584ms33224 KiB
17Időlimit túllépés0/1583ms64000 KiB
18Elfogadva1/176ms29160 KiB
19Időlimit túllépés0/1575ms34572 KiB
20Időlimit túllépés0/1602ms33368 KiB
21Időlimit túllépés0/1603ms36524 KiB
22Időlimit túllépés0/1597ms33452 KiB
23Időlimit túllépés0/1586ms37220 KiB
24Időlimit túllépés0/1605ms41876 KiB
25Hibás válasz0/259ms21944 KiB
26Hibás válasz0/2103ms22364 KiB
27Időlimit túllépés0/2603ms28624 KiB
28Időlimit túllépés0/1592ms28560 KiB
29Elfogadva2/264ms25320 KiB
30Időlimit túllépés0/1605ms44216 KiB
31Elfogadva1/185ms41008 KiB
32Elfogadva2/274ms21584 KiB
33Időlimit túllépés0/2586ms44648 KiB
34Időlimit túllépés0/1603ms42904 KiB
35Időlimit túllépés0/2603ms42372 KiB
36Időlimit túllépés0/2587ms43192 KiB
37Időlimit túllépés0/2587ms43444 KiB
38Időlimit túllépés0/2605ms47172 KiB
39Elfogadva1/161ms21480 KiB