Cod sursa(job #2030117)

Utilizator georgitTreista Georgiana georgit Data 1 octombrie 2017 09:45:45
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>

using namespace std;
int n,k,a[1001][1001],i,j,x[1001][1001],y[1001][1001],z[1001][1001],sum[1001][1001],mini,t;
long long s,maxi;
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;
}