Cod sursa(job #2813062)

Utilizator acostin643costin andrei acostin643 Data 5 decembrie 2021 17:48:14
Problema Ferma2 Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#include <climits>

using namespace std;

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

using namespace std;

int lin[101][100], col[101][101], d[101][101];

int main()
{
    int n, z, k, v[100][101], st = 0, mn = INT_MAX;
    fin >> n >> z;
    k = n - z;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= i; j++)
        {
            fin >> v[i][j];
            st += v[i][j];
            lin[i][j] = lin[i][j - 1] + v[i][j];
            col[i][j] = col[i - 1][j] + v[i][j];
        }
    }
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= i; j++)
        {
            d[i][j] = d[i - 1][j - 1] + lin[i][j];
            if(j > k)
            {
                d[i][j] -= lin[i][j - k] + col[i - 1][j - k];
                if(i > k + 1)
                    d[i][j] += col[i - 1 - k][j - k];

            }
            if(d[i][j] < mn && i >= k && j >= k)
                mn = d[i][j];
        }
    }
    fout << st - mn << '\n';
    return 0;
}