Pagini recente » Cod sursa (job #2488021) | Cod sursa (job #2674170) | Cod sursa (job #1962826) | Cod sursa (job #1355099) | Cod sursa (job #2813064)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
using namespace std;
int lin[1001][1001], col[1001][1001], d[1001][1001];
int main()
{
int n, z, k, v[1001][1001], st = 0, mn = INT_MAX;
fin >> n >> z;
k = n - z;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= i; j++)
{
fin >> v[i][j];
st += v[i][j];
lin[i][j] = lin[i][j - 1] + v[i][j];
col[i][j] = col[i - 1][j] + v[i][j];
}
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= i; j++)
{
d[i][j] = d[i - 1][j - 1] + lin[i][j];
if(j > k)
{
d[i][j] -= lin[i][j - k] + col[i - 1][j - k];
if(i > k + 1)
d[i][j] += col[i - 1 - k][j - k];
}
if(d[i][j] < mn && i >= k && j >= k)
mn = d[i][j];
}
}
fout << st - mn << '\n';
return 0;
}