Pagini recente » Cod sursa (job #918494) | Cod sursa (job #59739) | Cod sursa (job #1837292) | Cod sursa (job #290195) | Cod sursa (job #638074)
Cod sursa(job #638074)
#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);
}