151392025-02-13 16:31:07horkaDinamitcpp17Elfogadva 50/508ms760 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=42,inf=1e9;
int dp[c][c][c],v[c][c];
int ert(int x, int oszt)
{
    if(oszt>25) return 0;
    return ((x/(1<<oszt)));
}
int main()
{
    for(int i=0; i<c; i++)
        for(int j=0; j<c; j++)
            for(int k=0; k<c; k++)
                dp[i][j][k]=inf;
    dp[1][0][0]=0;
    int n,m,k; cin>>n>>m>>k;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            cin>>v[i][j];
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            for(int p=0; p<=k; p++)
            {
                int mini=(p?dp[i][j][p-1]:inf);
                for(int x=0; x<=p; x++)
                mini=min({mini,dp[i][j-1][p-x]+ert(v[i][j],x),dp[i-1][j][p-x]+ert(v[i][j],x)});
                dp[i][j][p]=mini;
            }
    cout<<dp[n][m][k]<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms564 KiB
2Elfogadva0/08ms564 KiB
3Elfogadva2/22ms760 KiB
4Elfogadva2/22ms564 KiB
5Elfogadva3/32ms564 KiB
6Elfogadva3/32ms564 KiB
7Elfogadva2/28ms696 KiB
8Elfogadva3/38ms692 KiB
9Elfogadva2/22ms480 KiB
10Elfogadva2/22ms564 KiB
11Elfogadva3/32ms564 KiB
12Elfogadva3/32ms564 KiB
13Elfogadva2/23ms564 KiB
14Elfogadva3/33ms692 KiB
15Elfogadva2/28ms692 KiB
16Elfogadva3/38ms696 KiB
17Elfogadva2/28ms564 KiB
18Elfogadva3/38ms696 KiB
19Elfogadva2/28ms700 KiB
20Elfogadva3/38ms696 KiB
21Elfogadva2/28ms700 KiB
22Elfogadva3/38ms708 KiB