Cod sursa(job #2691954)

Utilizator Andrei012Trache Andrei Andrei012 Data 30 decembrie 2020 19:47:38
Problema Ferma2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;
int sum_line[1001][1001],sum_col[1001][1001],sum_diag[1001][1001];
int main()
{
    ifstream cin("ferma2.in");
    ofstream cout("ferma2.out");

    int n,k,i,j,sum_total=0,s2=0,smin=0,s=0,x;
    cin>>n>>k;
    k=n-k;
    sum_total=0;
    for(i=1;i<=n;++i)
        for(j=1;j<=i;++j){
            cin>>x;
            sum_total+=x;
            sum_line[i][j]=sum_line[i][j-1]+x;
            sum_col[j][i]=sum_col[j][i-1]+x;
            sum_diag[i][j]=sum_diag[i-1][j-1]+x;
        }
    s=0;
    for(i=1;i<=k;++i)
        s+=sum_line[i][i];
    smin=s;
    for(i=2;i<=n-k+1;++i){
        s+=sum_line[i+k-1][k];
        s-=sum_diag[i+k-2][k];
        s2=s;
        smin=min(smin,s2);
        for(j=2;j<=i;++j){
            s2+=(sum_diag[i+k-1][j+k-1]-sum_diag[i-1][j-1]);
            s2-=(sum_col[j-1][i+k-1]-sum_col[j-1][i-1]);
            smin=min(smin,s2);
        }
    }
    cout<<sum_total-smin;
}