198302025-12-24 18:07:50birozsDinamitpython3Hibás válasz 0/5018ms3396 KiB
N,M,K = map(int,input().split())
T = []
for _ in range(N):
    sor = list(map(int,input().split()))
    T.append(sor)
#Q[i][j] a minimális érték a bal felső saroktól az adott pontig
Q = []
sor = [0] * M
for _ in range(N):
    Q.append(sor)
sor = ["*"] * M
#honnan[i][j] a minimális érték eléréséhez az adott pontba honnan érkezünk
honnan = []
for _ in range(N):
    honnan.append(sor[:])
#Q első sorának j-edik eleme az első j szám összege
Q[0][0] = T[0][0]
for j in range(1,M):
    Q[0][j] = Q[0][j-1] + T[0][j]
    honnan[0][j] = "B"
#Q első oszlopának i-edik eleme az első i szám összege
for i in range(1,N):
    Q[i][0] = Q[i-1][0] + T[i][0]
    honnan[i][0] = "F"

#Q belső pontjai a felette és a bal szomszéd értékeinek minimuma + a pont értéke
for i in range(1,N):
    for j in range(1,M):
        if Q[i][j-1] < Q[i-1][j]:
            Q[i][j] = Q[i][j-1] + T[i][j]
            honnan[i][j] = "B"
        else:
            Q[i][j] = Q[i-1][j] + T[i][j]
            honnan[i][j] = "F"

#A mimimális út visszafejtése
ut = [T[N-1][M-1]]
sor = N - 1
oszlop = M - 1
akt = honnan[N-1][M-1]
while akt != "*":
    if akt == "B":
        oszlop -= 1
    else:
        sor -= 1
    ut = [T[sor][oszlop]] + ut[:]
    akt = honnan[sor][oszlop]
print(ut)
#Kiválasztjuk a maximális elemet, azt felezzük
for _ in range(K):
    maxpoz = ut.index(max(ut))
    ut[maxpoz] = ut[maxpoz] // 2
print(sum(ut))

RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/016ms3324 KiB
2Hibás válasz0/017ms3136 KiB
3Hibás válasz0/217ms3388 KiB
4Hibás válasz0/217ms3372 KiB
5Hibás válasz0/318ms3172 KiB
6Hibás válasz0/317ms3320 KiB
7Hibás válasz0/217ms3368 KiB
8Hibás válasz0/317ms3380 KiB
9Hibás válasz0/216ms3228 KiB
10Hibás válasz0/216ms3204 KiB
11Hibás válasz0/316ms3124 KiB
12Hibás válasz0/317ms3124 KiB
13Hibás válasz0/217ms3288 KiB
14Hibás válasz0/317ms3208 KiB
15Hibás válasz0/217ms3372 KiB
16Hibás válasz0/318ms3276 KiB
17Hibás válasz0/218ms3380 KiB
18Hibás válasz0/318ms3380 KiB
19Hibás válasz0/217ms3396 KiB
20Hibás válasz0/318ms3284 KiB
21Hibás válasz0/217ms3380 KiB
22Hibás válasz0/317ms3224 KiB