Pagini recente » Cod sursa (job #1444973) | Cod sursa (job #2604700) | Cod sursa (job #2711321) | Cod sursa (job #2623507) | Cod sursa (job #2506112)
#include <bits/stdc++.h>
#define NMax 1005
using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
int n, k, a[NMax][NMax], diag[NMax][NMax];
int suma, Min;
void Citire()
{
fin >> n >> k;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= i; j++)
{
fin >> a[i][j];
suma += a[i][j];
diag[i][j] = diag[i - 1][j - 1] + a[i][j];
}
}
void Rezolvare()
{
Min = 100005;
k = n - k;
for(int i = k; i <= n; i++)
for(int j = 1; j <= i - k + 1; j++)
{
int x = 0;
for(int z = j; z <= j + k - 1; z++)
x += (diag[i][z] - diag[i - (z - j + 1)][z - (z - j + 1)]);
Min = min(Min, x);
}
fout << suma - Min;
}
int main()
{
Citire();
Rezolvare();
fin.close();
fout.close();
return 0;
}