Pagini recente » Cod sursa (job #1924658) | Cod sursa (job #1983855) | Cod sursa (job #2848274) | Cod sursa (job #1231097) | Cod sursa (job #636167)
Cod sursa(job #636167)
#include <fstream>
#define NMAX 1010
using namespace std;
int a[NMAX][NMAX], n, k, i, j, l;
long sum[NMAX][NMAX], sTotal, minS;
int main()
{
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
fin>>n>>k;
for (i=0; i<n; i++)
for (j=0; j<=i; j++)
{
fin>>a[i][j];
sTotal+=a[i][j];
}//for j
for (i=0; i<n-k; i++)
for (j=0; j<=i; j++)
sum[0][0]+=a[i][j];
minS=sum[0][0];
for (i=1; i<=(n-(n-k)); i++)
for (j=0; j<=i; j++)
{
if (sum[i-1][j]>0)
{
sum[i][j]=sum[i-1][j];
for (l=0; l<(n-k); l++)
{
sum[i][j]-=a[i-1+l][j+l];
sum[i][j]+=a[i+n-k-1][j+l];
}//for l
}//if
else
{
sum[i][j]=sum[i][j-1];
for (l=0; l<(n-k); l++)
{
sum[i][j]-=a[i+l][j-1];
sum[i][j]+=a[i+l][j+l];
}//for l
}//else
if (sum[i][j]<minS)
minS=sum[i][j];
}//for j
fout<<sTotal-minS<<"\n";
/* for (i=0; i<n; i++)
{
for (j=0; j<=i; j++)
printf("%ld ", sum[i][j]);
printf("\n");
}//for i*/
return 0;
}//main