149752025-02-10 14:12:40mateDinamitcpp17Elfogadva 50/506ms796 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,m,rob; cin >> n >> m >> rob;
    vector <vector <int>> v(n+1,vector <int> (m+1));
    vector <vector <vector <int>>> dp(n+1,vector <vector <int>> (m+1,vector <int> (rob+1, 1e9)));
    for(int i = 1;i <= n; i++){
        for(int j = 1; j <= n; j++){
            cin >> v[i][j];
        }
    }
    /*for(int i = 0;i <= n; i++){
        for(int j = 0; j <= n; j++){
            for(int l = 0; l <= k; l++){
                dp[i][j][l] = INT_MAX;
            }
        }
    }*/
    int x = 0;
    for(int k = 0; k <= rob; k++){
        for(int i = 1;i <= n; i++){
            for(int j = 1; j <= n; j++){
                x = v[i][j];
                for(int l = 0; l <= k; l++){
                    if(i == 1 && j == 1){
                        dp[i][j][k] = x;
                    }else{
                        dp[i][j][k] = min(dp[i][j][k],min(dp[i-1][j][k-l],dp[i][j-1][k-l]) + x);
                    }
                    x >>= 1;
                }
            }
        }
    }
    

    cout << dp[n][m][rob];

    
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/06ms564 KiB
3Elfogadva2/22ms500 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva3/32ms316 KiB
6Elfogadva3/32ms500 KiB
7Elfogadva2/26ms740 KiB
8Elfogadva3/36ms744 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva2/22ms508 KiB
14Elfogadva3/32ms556 KiB
15Elfogadva2/26ms796 KiB
16Elfogadva3/36ms744 KiB
17Elfogadva2/26ms740 KiB
18Elfogadva3/36ms564 KiB
19Elfogadva2/26ms748 KiB
20Elfogadva3/36ms564 KiB
21Elfogadva2/26ms568 KiB
22Elfogadva3/36ms564 KiB