Pagini recente » Cod sursa (job #27285) | Cod sursa (job #662348) | Cod sursa (job #2223119) | Cod sursa (job #1036080) | Cod sursa (job #1846565)
#include<fstream>
#include<vector>
#include<string>
using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
string sir;
int i, n, k, j,contor,st,dr,sol,x,y,sum,aux;
int a[1005][1005], col[1005][1005], diag[1005][1005];
int main()
{
fin >> n >> k;
k = n - k;
sol = 2000000000;
for(i = 1; i <= n; i++)
{
for(j = 1; j <= i; j++)
{
fin >> a[i][j];
sum = sum + a[i][j];
col[i][j] = col[i - 1][j] + a[i][j];
diag[i][j] = diag[i - 1][j - 1] + a[i][j];
}
}
for(i = k; i <= n; i++)
{
aux = 0; x = k;
for(j = 1; j <= k; j++)
{
aux = aux + (col[i][j] - col[i - x][j]);
x--;
}
sol = min(sol, aux);
//fout << i << " " << aux <<"\n";
for(j = 2; j + k - 1 <= i; j++)
{
aux = aux - (col[i][j - 1] - col[i - k][j - 1]);
aux = aux + (diag[i][j + k - 1] - diag[i - k][j - 1]);
//fout <<i <<" " <<j<<" "<< aux <<"\n";
sol = min(sol, aux);
}
}
for(i = 1; i <= n; i++)
{
for(j = 1; j <= i; j++)
{
// fout << a[i][j] << " ";
}
//fout <<"\n";
}
fout << sum - sol <<"\n";
for(i = 1; i <= n; i++)
{
for(j = 1; j <= i; j++)
{
//fout << diag[i][j] << " ";
}
//fout <<"\n";
}
}