4320 2023. 03. 24 11:52:02 horvathabel Dinamit cpp17 Elfogadva 50/50 8ms 5352 KiB
#include <bits/stdc++.h>
using namespace std;
using ll=long long; 
int mx=INT_MAX;
int main() {
	int n,m,k;
	cin>>n>>m>>k;
	vector<ll> g[n+1];
	for (int i=0;i<n;i++){
		for (int j=0; j<m;j++){
			int x;
			cin>>x;
			g[i].push_back(x);
		}
	}
	vector<vector<vector<ll>>> dp;
	dp.assign(n+1, vector<vector<ll>> (m+1, vector<ll>(k+1, mx)));
	ll cnt=g[0][0]; 
	for (int i=0; i<=k;i++){
		dp[0][0][i]=cnt;
		cnt=cnt/2;
	} 
	cout<<endl; 
	for (int i=0; i<n;i++){
		for (int j=0; j<m;j++){
				for (int z=0; z<=k;z++){
					if (i-1>=0){
						ll cnt=g[i][j]; 
						for (int p=0;p<=z;p++){					
					
							dp[i][j][z]=min(dp[i-1][j][z-p]+cnt,dp[i][j][z]);
							cnt=cnt/2; 
						}
					}
					if (j-1>=0){
					ll cnt=g[i][j]; 
						for (int p=0;p<=z;p++){
							dp[i][j][z]=min(dp[i][j-1][z-p]+cnt, dp[i][j][z]);

							cnt=cnt/2; 
						}
					}
					
					}
				
				
			}
		}
		cout<<dp[n-1][m-1][k];
	}

Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 3ms 1820 KiB
2 Elfogadva 0/0 8ms 3228 KiB
3 Elfogadva 2/2 3ms 2456 KiB
4 Elfogadva 2/2 3ms 2668 KiB
5 Elfogadva 3/3 3ms 2932 KiB
6 Elfogadva 3/3 3ms 3092 KiB
7 Elfogadva 2/2 8ms 4284 KiB
8 Elfogadva 3/3 8ms 4240 KiB
9 Elfogadva 2/2 3ms 3460 KiB
10 Elfogadva 2/2 3ms 3412 KiB
11 Elfogadva 3/3 3ms 3668 KiB
12 Elfogadva 3/3 3ms 3620 KiB
13 Elfogadva 2/2 4ms 3860 KiB
14 Elfogadva 3/3 4ms 4204 KiB
15 Elfogadva 2/2 8ms 4964 KiB
16 Elfogadva 3/3 8ms 4964 KiB
17 Elfogadva 2/2 8ms 4960 KiB
18 Elfogadva 3/3 8ms 5144 KiB
19 Elfogadva 2/2 8ms 5088 KiB
20 Elfogadva 3/3 8ms 5096 KiB
21 Elfogadva 2/2 8ms 5096 KiB
22 Elfogadva 3/3 8ms 5352 KiB