Cod sursa(job #2812900)

Utilizator flaviaelenaflavia tufan flaviaelena Data 5 decembrie 2021 13:50:20
Problema Ferma2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;
ifstream fin("ferma2.in");
ofstream fout("ferma2.out");
const int nmax=1005;
int d[nmax][nmax],lin[nmax][nmax],col[nmax][nmax];
int main()
{
    int mi=100000005,i,j,l,n,k,s=0,x;
    fin>>n>>k;
    l=n-k;
    for(i=1;i<=n;++i){
        for(j=1;j<=i;++j){
            fin>>x;
            s+=x;
            lin[i][j]=lin[i][j-1]+x;
            col[i][j]=col[i-1][j]+x;
            d[i][j]=d[i-1][j-1]+lin[i][j];
            if(j-l>0){
                d[i][j]-=col[i-1][j-l]+lin[i][j-l];
                if(i-l-1>0){
                    d[i][j]+=col[i-l-1][j-l];
                }
            }
            //d[i][j]=d[i-1][j-1]-(col[i-1][j-l]-col[i-l-1][j-l])+(lin[i][j]-lin[i][j-l]);
            if(d[i][j]<mi && i>=l && j>=l){
                mi=d[i][j];
            }
        }
    }
    fout<<s-mi;
    return 0;
}