Cod sursa(job #801761)
#include<cstdio>
using namespace std;
FILE *f,*g;
int n,k,i,j,ii,jj,maxi,mini,sum,jj1,a[1001][1001],s[1001][1001];
int main()
{f=fopen("ferma2.in","r");
g=fopen("ferma2.out","w");
fscanf(f,"%d%d",&n,&k);
for(i=1;i<=n;++i)
for(j=1;j<=i;++j)
fscanf(f,"%d",&a[i][j]),s[i][j]=s[i][j-1]+a[i][j],maxi+=a[i][j];
mini=maxi+1;
for(i=n-k;i<=n;++i)
for(j=n-k;j<=i;++j)
{sum=0;
ii=i;
jj=j;
for(jj1=1;jj1<=n-k;++jj1)
{sum+=s[ii][jj]-s[ii][jj-(n-k-jj1+1)];
--ii;
--jj;
}
if(mini>sum)
mini=sum;
}
fprintf(g,"%d\n",maxi-mini);
return 0;
}