Pagini recente » Cod sursa (job #1836244) | Cod sursa (job #2598238) | Cod sursa (job #2640869) | Cod sursa (job #2072529) | Cod sursa (job #638123)
Cod sursa(job #638123)
#include<stdio.h>
#define Nmax 1009
int SUM,N,K,i,j,a[Nmax][Nmax],b[Nmax][Nmax],min=9999999;
int sum(int x,int y)
{
int i,j,S=0;
for (i=x;i<x+K;++i)
for (j=y;j<y+i;++j)
S+=a[i][j];
if (S<min) min=S;
return S;
}
int D(int x,int y)
{
int S,q=i-1,i;
S=b[x-1][y];
for (i=q;i<=q+K-1;++i)
S-=a[i][y+i-q];
for (i=1;i<=K;++i)
S+=a[x+K-1][y+i-1];
if (S<min) min=S;
return S;
}
int main()
{
freopen("ferma2.in","r",stdin);
freopen("ferma2.out","w",stdout);
scanf("%d%d",&N,&K);
K=N-K;
for (i=1;i<=N;++i)
for (j=1;j<=i;++j)
{
scanf("%d",&a[i][j]);
SUM+=a[i][j];
}
for (i=1;i<=N-K+1;++i)
b[i][i]=sum(i,i);
for (j=1;j<=N-K+1;++j)
for (i=j+1;i<=N-K+1;++i)
b[i][j]=D(i,j);
printf("%d\n",SUM-min);
}