Cod sursa(job #846244)

Utilizator stoicatheoFlirk Navok stoicatheo Data 1 ianuarie 2013 19:08:10
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<cstdio>
#include <iostream>
using namespace std;
int v[1001][1001],w[1001][1001];
int main()
{
    freopen("ferma2.in","r",stdin);
    freopen("ferma2.out","w",stdout);
    int n,k,i,j,max=0,r,min,S,x;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)for(j=1;j<=i;j++)
    {
        scanf("%d",&x);
        max+=x;
        w[i][j]=w[i-1][j]+x;
        v[i][j]=v[i-1][j-1]+x;
    }
    min=max;
    for(i=n-k;i<=n;i++)
    {
        S=0;
        for(j=1;j<=n-k;j++)S+=w[i][j]-w[i-n+k+j-1][j];
        if(S<min)min=S;
        for(j=2;j<=i-n+k+1;j++)
        {
            S-=w[i][j-1]-w[i-n+k][j-1];
            S+=v[i][j+n-k-1]-v[i-n+k][j-1];
            if(S<min)min=S;
        }
    }
    printf("%d",max-min);
    return 0;
}