155862025-02-20 18:13:32BucsMateDinamitcpp17Accepted 50/5037ms1024 KiB
#include <iostream>
#include <vector>

using namespace std;

const long long INF = (long long)1000*1000*1000*1000;

int main()
{
    //cout << INF;
    long long ketto_hatvany[41] = {};
    ketto_hatvany[0] = 1;
    for(int i = 1; i <= 40; i++){
        ketto_hatvany[i] = ketto_hatvany[i-1]*2;
    }

    int N, M, K;
    cin >> N >> M >> K;
    vector<vector<long long>> matrix(N+1, vector<long long>(M+1, INF));
    for(int i = 1; i <= N; i++){
        for(int j = 1; j <= M; j++){
            cin >> matrix[i][j];
        }
    }

    vector<vector<vector<long long>>> dp(N+1, vector<vector<long long>>(M+1, vector<long long>(K+1, INF)));
    dp[1][1][0] = matrix[1][1];
    for(int k = 1; k <= K; k++){
        dp[1][1][k] = matrix[1][1]/ketto_hatvany[k];
    }

    for(int i = 1; i <= N; i++){
        for(int j = 1; j <= M; j++){
            for(int k = 0; k <= K; k++){
                if(i == 1 && j == 1){
                    continue;
                }
                long long min1 = INF, min2 = INF;

                for(int l = 0; l <= k; l++){
                    min1 = min(min1, dp[i-1][j][l] + matrix[i][j]/ketto_hatvany[k-l]);
                }
                for(int l = 0; l <= k; l++){
                    min2 = min(min2, dp[i][j-1][l] + matrix[i][j]/ketto_hatvany[k-l]);
                }
                dp[i][j][k] = min(min1, min2);
            }
        }
    }
    cout << dp[N][M][K] << endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/037ms1012 KiB
3Accepted2/22ms432 KiB
4Accepted2/22ms316 KiB
5Accepted3/32ms316 KiB
6Accepted3/32ms316 KiB
7Accepted2/237ms1020 KiB
8Accepted3/337ms1016 KiB
9Accepted2/23ms316 KiB
10Accepted2/23ms508 KiB
11Accepted3/33ms316 KiB
12Accepted3/33ms316 KiB
13Accepted2/210ms564 KiB
14Accepted3/39ms536 KiB
15Accepted2/237ms1016 KiB
16Accepted3/337ms1020 KiB
17Accepted2/237ms1020 KiB
18Accepted3/337ms960 KiB
19Accepted2/237ms1016 KiB
20Accepted3/337ms1016 KiB
21Accepted2/237ms1024 KiB
22Accepted3/337ms844 KiB