Cod sursa(job #1760069)

Utilizator denniscrevusDennis Curti denniscrevus Data 20 septembrie 2016 10:47:18
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#define NMAX 1012
#define LL long long
using namespace std;

ifstream f("ferma2.in");
ofstream g("ferma2.out");

LL n,i,j,v[NMAX][NMAX],sumst[NMAX][NMAX], sumjs[NMAX][NMAX], sumdg[NMAX][NMAX],k,mn=99999999,ans;

void citire()
{
    f>>n>>k;

    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
            f>>v[i][j];

}

void precalc()
{
    k=n-k;
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
        {
            ans+=v[i][j];
            sumst[i][j] = sumst[i][j-1]+v[i][j];
            sumjs[i][j] = sumjs[i-1][j]+sumst[i][j];
            sumdg[i][j] = sumdg[i-1][j-1]+sumst[i][j];
        }
}

int main()
{
    citire();
    precalc();


    for(i=k;i<=n;i++)
        for(j=k;j<=i;j++)
            mn=min(mn,sumdg[i][j]-sumjs[i][j-k]+sumjs[i-k][j-k]-sumdg[i-k][j-k]);

    //g<<ans;
    g<<ans-mn<<"\n";

    //g<<mn;
}