98452024-03-11 20:24:21birozsMaximális szorzat (50 pont)python3Hibás válasz 22/50266ms36848 KiB
N,K,b = map(int,input().split())
lista = list(map(int,input().split()))
negativ = []
pozitiv = []
nulla = 0
for szam in lista:
    if szam < 0:
        negativ.append(szam)
    elif szam > 0:
        pozitiv.append(szam)
    else:
        nulla += 1
negativ.sort(reverse=True)
hatar = abs(sum(negativ[0:len(negativ)-b]))
if  hatar > K:
    print(-1)
elif hatar <= K and hatar + len(negativ) - b > K:
    print(0)
else:
    K = K - (hatar + len(negativ) - b)
    if nulla > K:
        print(0)
    else:
        for i in range(len(negativ) - b + nulla):
            pozitiv.append(1)
        K = K - nulla
        n = len(pozitiv)
        pozitiv.sort()
        while K > 0:
            j = 0
            elso = pozitiv[0]
            while j < n and pozitiv[j] == elso and K > 0:
                pozitiv[j] += 1
                K = K - 1
                j += 1
        szorzat = 1
        for szam in pozitiv:
            szorzat = (szorzat * szam) % (10**9+7)
        for i in range(b):
            szorzat = (szorzat * negativ[i]) % (10**9+7)
        print(szorzat)


        

RészfeladatÖsszpontTesztVerdiktIdőMemória
base22/50
1Elfogadva0/017ms11600 KiB
2Elfogadva0/018ms11864 KiB
3Elfogadva0/017ms12112 KiB
4Elfogadva0/017ms12484 KiB
5Hibás válasz0/028ms14652 KiB
6Elfogadva2/217ms12396 KiB
7Elfogadva2/217ms12812 KiB
8Elfogadva2/217ms12588 KiB
9Elfogadva2/219ms13036 KiB
10Elfogadva2/237ms15332 KiB
11Elfogadva2/2229ms34720 KiB
12Elfogadva1/1231ms34624 KiB
13Hibás válasz0/120ms13460 KiB
14Hibás válasz0/146ms15528 KiB
15Elfogadva1/148ms25084 KiB
16Hibás válasz0/1167ms24680 KiB
17Elfogadva1/157ms24928 KiB
18Elfogadva1/137ms14892 KiB
19Futási hiba0/193ms36440 KiB
20Futási hiba0/182ms35504 KiB
21Futási hiba0/197ms35192 KiB
22Futási hiba0/165ms29468 KiB
23Elfogadva1/1247ms35632 KiB
24Elfogadva1/1254ms34852 KiB
25Hibás válasz0/232ms13364 KiB
26Hibás válasz0/232ms15924 KiB
27Futási hiba0/256ms24296 KiB
28Futási hiba0/156ms24196 KiB
29Elfogadva2/256ms25488 KiB
30Hibás válasz0/1266ms36104 KiB
31Elfogadva1/168ms36848 KiB
32Hibás válasz0/2150ms13932 KiB
33Hibás válasz0/2254ms36088 KiB
34Elfogadva1/1261ms36028 KiB
35Hibás válasz0/2252ms36032 KiB
36Hibás válasz0/2254ms36244 KiB
37Hibás válasz0/2252ms35800 KiB
38Hibás válasz0/2266ms36052 KiB
39Hibás válasz0/1153ms13740 KiB