Pagini recente » Cod sursa (job #2442745) | Cod sursa (job #943850) | Cod sursa (job #1722809) | Cod sursa (job #459525) | Cod sursa (job #2030115)
#include <fstream>
using namespace std;
long long n,k,a[1001][1001],i,j,x[1001][1001],y[1001][1001],z[1001][1001],maxi,s,sum[1001][1001],mini,t;
int main()
{ifstream f("ferma2.in");
ofstream g("ferma2.out");
f>>n>>k;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{f>>a[i][j];
x[i][j]+=x[i][j-1]+a[i][j];
y[i][j]+=y[i-1][j]+a[i][j];
z[i][j]+=z[i-1][j-1]+a[i][j];
s+=a[i][j];
}
k=n-k;
for(i=1;i<=k;i++)
for(j=1;j<=i;j++)
sum[1][1]+=a[i][j];
maxi=sum[1][1];
for(i=2;i<=n-k+1;i++)
for(j=1;j<=i;j++)
{
if(j!=1) sum[i][j]=sum[i][j-1]-y[i+k-1][j-1]+y[i-1][j-1]+z[i+k-1][j+k-1]-z[i-1][j-1];
else sum[i][j]=sum[i-1][j]+x[i+k-1][k]-z[i+k-2][k];
if(sum[i][j]<maxi) maxi=sum[i][j];
}
g<<s-maxi;
return 0;
}