98502024-03-11 23:43:3342Maximális szorzat (50 pont)python3Hibás válasz 6/5059ms36928 KiB
# O(NlogN)
from sys import stdin, stdout
input=stdin.readline
mod=10**9+7

def solv():
    N,K,b = [int(x) for x in input().split()]
    A = [int(x) for x in input().split()]
    print(-1)
    return
    Aplus=[]
    Aminus=[]
    for a in A:
        if a<0:
            Aminus.append(a)
        else:
            Aplus.append(a)
    if len(Aminus)<b:
        print(-1)
        return
    Aminus.sort(reverse=True)
    #print(Aminus,K,b)
    for i in range(len(Aminus)-b):
        K+=Aminus[i]
    if K<0:
        print(-1)
        return
    prod=1
    for i in range(len(Aminus)-b,len(Aminus)):
        prod*=-Aminus[i]
        prod%=mod
    if len(Aplus)==0:
        if len(Aminus)==b:
            print(-1)
            return
    for i in range(len(Aminus)-b):
        Aplus.append(0)
    Aplus.sort()
    Aplus.append(10**10)
    i=0
    while K>0:
        if i==0:
            Aplus[0]+=1
            K-=1
            i+=1
        else:
            if Aplus[i-1]>Aplus[i]:
                Aplus[i]+=1
                K-=1
                i+=1
            else:
                i=0
    #print(K,Aplus,prod)
    for i in range(len(Aplus)-1):
        prod*=Aplus[i]
        prod%=mod
    print(prod)
    
solv()

RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/50
1Hibás válasz0/017ms11508 KiB
2Hibás válasz0/017ms11976 KiB
3Hibás válasz0/017ms12076 KiB
4Hibás válasz0/017ms12524 KiB
5Hibás válasz0/020ms14200 KiB
6Hibás válasz0/217ms12420 KiB
7Hibás válasz0/218ms12656 KiB
8Hibás válasz0/217ms12768 KiB
9Hibás válasz0/218ms13224 KiB
10Hibás válasz0/221ms15548 KiB
11Hibás válasz0/257ms34992 KiB
12Hibás válasz0/157ms35440 KiB
13Hibás válasz0/118ms13696 KiB
14Hibás válasz0/121ms16044 KiB
15Elfogadva1/135ms25244 KiB
16Hibás válasz0/135ms25208 KiB
17Elfogadva1/135ms25060 KiB
18Hibás válasz0/128ms15452 KiB
19Hibás válasz0/154ms35724 KiB
20Hibás válasz0/150ms36448 KiB
21Hibás válasz0/152ms35868 KiB
22Elfogadva1/148ms30464 KiB
23Hibás válasz0/159ms35836 KiB
24Hibás válasz0/157ms35968 KiB
25Hibás válasz0/217ms14076 KiB
26Hibás válasz0/221ms16452 KiB
27Hibás válasz0/237ms24892 KiB
28Hibás válasz0/137ms25068 KiB
29Elfogadva2/237ms25920 KiB
30Hibás válasz0/157ms36748 KiB
31Elfogadva1/154ms36168 KiB
32Hibás válasz0/218ms14556 KiB
33Hibás válasz0/257ms36864 KiB
34Hibás válasz0/156ms36928 KiB
35Hibás válasz0/257ms36884 KiB
36Hibás válasz0/257ms36740 KiB
37Hibás válasz0/254ms36832 KiB
38Hibás válasz0/257ms36680 KiB
39Hibás válasz0/118ms14444 KiB