Cod sursa(job #2813036)

Utilizator acostin643costin andrei acostin643 Data 5 decembrie 2021 17:28:06
Problema Ferma2 Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <climits>

using namespace std;

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

using namespace std;

int lin[1000][1000], col[1000][1000], d[1000][1000];

int main()
{
    int n, z, k, v[1000][1000], 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] - lin[i][j - k] - col[i - 1][j - k] + col[i - 1 - k][j - k];
            if(i >= z && j >= z)
            {
                if(d[i][j] < mn)
                    mn = d[i][j];
            }
        }
    }
    fout << st - mn << '\n';
    return 0;
}