194192025-12-08 20:39:53KristófDinamitcpp17Elfogadva 50/5014ms748 KiB
#include <iostream>
#include <vector>
#include <climits>
#include <math.h>
using namespace std;

int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    vector<vector<int>> data(n,vector<int>(m));
    for(int i=0;i<n;i++)
        {
        for(int j=0;j<m;j++)
            {
            cin>>data[i][j];
            }
        }

    vector<vector<vector<int>>> dp(n, vector<vector<int>>(m, vector<int>(k+1,INT_MAX)));
    for(int i=0;i<=k;i++)
        {
        dp[0][0][i]=int(data[0][0]>>i);

        }

    for(int i=0;i<n;i++)
        {
        for(int j=0;j<m;j++)
            {
            if(i==0 && j==0)
                {
                continue;
                }
            for(int p=0;p<=k;p++)
                {
                if(i!=0)
                    {
                    for(int l=0;l<=k;l++)
                        {
                        if(p>=l)
                            dp[i][j][p]=min(dp[i][j][p],dp[i-1][j][l]+int(data[i][j]>>(p-l)));
                        //cout<<int(data[i][j]/pow(2,l))<<" "<<i<<" "<<j<<endl;
                        }
                    }
                if(j!=0)
                    {
                    for(int l=0;l<=k;l++)
                        {
                        if(p>=l)
                            dp[i][j][p]=min(dp[i][j][p],dp[i][j-1][l]+int(data[i][j]>>(p-l)));
                        }

                    }
                }

            //cout<<dp[i][j][k]<<" "<<i<<" "<<j<<endl;
            }
        }
    int ans=INT_MAX;
    for(auto x:dp[n-1][m-1])
        {
        if(x<ans)
            {
            ans=x;
            }
        }
    cout<<ans;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/014ms664 KiB
3Elfogadva2/22ms316 KiB
4Elfogadva2/22ms316 KiB
5Elfogadva3/32ms316 KiB
6Elfogadva3/32ms384 KiB
7Elfogadva2/213ms564 KiB
8Elfogadva3/314ms564 KiB
9Elfogadva2/22ms424 KiB
10Elfogadva2/22ms316 KiB
11Elfogadva3/32ms316 KiB
12Elfogadva3/32ms316 KiB
13Elfogadva2/24ms316 KiB
14Elfogadva3/34ms316 KiB
15Elfogadva2/214ms728 KiB
16Elfogadva3/314ms740 KiB
17Elfogadva2/214ms736 KiB
18Elfogadva3/314ms584 KiB
19Elfogadva2/214ms732 KiB
20Elfogadva3/314ms648 KiB
21Elfogadva2/214ms748 KiB
22Elfogadva3/314ms748 KiB