Cod sursa(job #2080240)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 2 decembrie 2017 17:13:12
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
int n,k,i,j,a, sl[1002][1002],sc[1002][1002],sd[1002][1002],aux,s,mini,l,sum;

int main()
{
    fin>>n>>k;
    l=n-k;
    for(i=1;i<=n;i++)
        for(j=1;j<=i;j++)
        {
            fin>>a;
            sl[i][j]=sl[i][j-1]+a;
            sc[i][j]=sc[i-1][j]+a;
            sd[i][j]=sd[i-1][j-1]+a;
            sum+=a;
        }
    for(i=1;i<=l;i++)
        s+=sl[i][i];
    mini=s;
    for(i=2;i<=n-l+1;i++)
    {
        s+=sl[i+l-1][l+1]-sd[i+l-1][l+1];
        mini=min(mini,s);
        aux=s;
        for(j=2;j<=i;j++)
        {
            aux+=(sd[i+l-1][j+l-1]-sd[i-1][j-1])-(sc[i+l-1][j-1]-sc[i-1][j-1]);
            mini=min(aux,mini);
        }
    }
    fout<<sum-mini;
    fin.close();
    fout.close();
    return 0;
}