#include <iostream>
#include <vector>
#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;
}
open /var/local/lib/isolate/435/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:19:78: error: 'INT_MAX' was not declared in this scope
19 | vector<vector<vector<int>>> dp(n, vector<vector<int>>(m, vector<int>(k+1,INT_MAX)));
| ^~~~~~~
main.cpp:4:1: note: 'INT_MAX' is defined in header '<climits>'; did you forget to '#include <climits>'?
3 | #include <math.h>
+++ |+#include <climits>
4 | using namespace std;