Cod sursa(job #776818)
#include<cstdio>
using namespace std;
int v[1001][1001],w[1001][1001];
int main()
{
freopen("ferma2.in","r",stdin);
freopen("ferma2.out","w",stdout);
int n,k,i,j,max=0,r,nr,min;
scanf("%d%d",&n,&k);
k=n-k;
for(i=1;i<=n;i++)for(j=1;j<=i;j++)
{
scanf("%d",&v[i][j]);
max+=v[i][j];
min=max;
w[i][j]=w[i-1][j]+v[i][j];
}
for(i=k;i<=n;i++)
for(j=1;j<=i-k+1;j++)
{
nr=0;
for(r=1;r<=k;r++)nr=nr+w[i][r+j-1]-w[i-k+r-1][r+j-1];
if(nr<min)min=nr;
}
max=max-min;
printf("%d",max);
return 0;
}