Cod sursa(job #2659924)

Utilizator refugiatBoni Daniel Stefan refugiat Data 17 octombrie 2020 19:58:33
Problema Ferma2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("ferma2.in");
ofstream so("ferma2.out");
int sl[1005][1005], sc[1005][1005], sd[1005][1005];
int main() {
    int n, k;
    si>>n>>k;
    k=n-k;
    int sol=0;
    for(int i=1; i<=n; i++) {
        for(int j=1; j<=i; j++) {
            int x;
            si>>x;
            sol+=x;
            sl[i][j]=sl[i][j-1]+x;
            sc[i][j]=sc[i-1][j]+x;
            sd[i][j]=sd[i-1][j-1]+x;
        }
    }
    int sum=0, minn, s;
    for(int i=1; i<=k; i++)
        sum+=sl[i][i];
    minn=s=sum;
    for(int i=2; i<=n-k+1; i++) {
        s+=sl[i+k-1][k]-sd[i+k-2][k];
        sum=s;
        minn=min(minn, s);
        for(int j=2; j<=i; j++) {
            sum+=sd[i+k-1][j+k-1]-sd[i-1][j-1]-sc[i+k-1][j-1]+sc[i-1][j-1];
            minn=min(minn, sum);
        }
    }
    sol-=minn;
    so<<sol<<'\n';
    return 0;
}