Cod sursa(job #2024941)

Utilizator refugiatBoni Daniel Stefan refugiat Data 21 septembrie 2017 17:38:31
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
ifstream si("ferma2.in");
ofstream so("ferma2.out");
string s;
int v[1005][1005],c[1005][1005],d[1005][1005];
int main()
{
    int n,k,sol;
    si>>n>>k;
    k=n-k;
    sol=2000000000;
    int sum=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=i;j++)
        {
            si>>v[i][j];
            sum=sum+v[i][j];
            c[i][j]=c[i-1][j]+v[i][j];
            d[i][j]=d[i-1][j-1]+v[i][j];
        }
    }
    for(int i=k;i<=n;i++)
    {
        int aux=0,x=k;
        for(int j=1;j<=k;j++)
        {
            aux=aux+(c[i][j]-c[i-x][j]);
            x--;
        }
        sol=min(sol, aux);
        for(int j=2;j+k-1<=i;j++)
        {
            aux=aux-(c[i][j-1]-c[i-k][j-1]);
            aux=aux+(d[i][j+k-1]-d[i-k][j-1]);
            sol=min(sol,aux);

        }
    }
    so<<sum-sol<<'\n';
    return 0;
}