Pagini recente » Cod sursa (job #2896007) | Cod sursa (job #2726222) | Cod sursa (job #964891) | Cod sursa (job #33381) | Cod sursa (job #2562006)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
int a[1005][1005];
int L[1005][1005];
int C[1005][1005];
int D[1005][1005];
int n,m,k;
int main()
{
int i,j;
int s,smin,s1,total=0;
fin >> n >> k;
m=n-k;
for (i=1; i<=n; i++)
for (j=1; j<=i; j++)
{
fin >> a[i][j];
total+=a[i][j];
L[i][j]=L[i][j-1]+a[i][j];
C[i][j]=C[i-1][j]+a[i][j];
D[i][j]=D[i-1][j-1]+a[i][j];
}
s=0;
for (i=1; i<=m; i++)
s+=L[i][i];
s1=smin=s;
for (i=m+1; i<=n; i++)
{
s=s1=s1+L[i][m]-D[i-1][m];
smin=min(smin,s);
for (j=m+1; j<=i; j++)
{
s=s-C[i][j-m]+C[i-m][j-m]+D[i][j]-D[i-m][j-m];
smin=min(smin,s);
}
}
fout << total-smin;
return 0;
}