Cod sursa(job #777582)

Utilizator nrpcCiprian Stirbu nrpc Data 12 august 2012 19:55:53
Problema Ferma2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 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;
}