Cod sursa(job #2506112)

Utilizator Ykm911Ichim Stefan Ykm911 Data 7 decembrie 2019 15:23:22
Problema Ferma2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
#define NMax 1005

using namespace std;

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

int n, k, a[NMax][NMax], diag[NMax][NMax];
int suma, Min;

void Citire()
{
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= i; j++)
        {
            fin >> a[i][j];
            suma += a[i][j];
            diag[i][j] = diag[i - 1][j - 1] + a[i][j];
        }
}

void Rezolvare()
{
    Min = 100005;
    k = n  - k;
    for(int i = k; i <= n; i++)
        for(int j = 1; j <= i - k + 1; j++)
    {
        int x = 0;
        for(int z = j; z <= j + k - 1; z++)
           x += (diag[i][z] - diag[i - (z - j + 1)][z - (z - j + 1)]);
        Min = min(Min, x);
    }
    fout << suma - Min;
}

int main()
{
    Citire();
    Rezolvare();
    fin.close();
    fout.close();
    return 0;
}