Cod sursa(job #2562013)

Utilizator NopeCarp Rafael Nope Data 29 februarie 2020 11:39:37
Problema Ferma2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("ferma2.in");
ofstream fout("ferma2.out");

int a[1005][1005];
int L[1005][1005];
int C[1005][1005];
int D[1005][1005];
int n,m,k;

int main()
{
    int i,j;
    int s,smin,s1,sum=0;
    fin>>n>>k;
    m=n-k;
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
        {
            fin>>a[i][j];
            sum+=a[i][j];
            L[i][j]=L[i][j-1]+a[i][j];
            C[i][j]=C[i-1][j]+a[i][j];
            D[i][j]=D[i-1][j-1]+a[i][j];
        }
    s=0;
    for(i=1;i<=m;i++)
        s+=L[i][i];
    s1=smin=s;
    for(i=m+1;i<=n;i++)
    {
        s=s1=s1+L[i][m]-D[i-1][m];
        smin=min(smin,s);
        for(j=m+1;j<=i;j++)
        {
            s=s-(C[i][j-m]-C[i-m][j-m])+
              (D[i][j]-D[i-m][j-m]);
            smin=min(smin,s);
        }
    }
    fout<<sum-smin<<"\n";
    return 0;
}