Cod sursa(job #812877)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 14 noiembrie 2012 17:09:50
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <iostream>
#include <stdio.h>
using namespace std;

int S[305][305],n,m;
int sir[305];
int sus,jos,s=0,nr,sol=0,dim,st,dr,dimf;
int i, j, x;
int main()
{
    freopen("teren.in","r",stdin); freopen("teren.out","w",stdout);
	scanf("%d%d%d", &n, &m, &x);
	for(i = 1; i <= n; i++)for(j = 1; j <= m; j++){scanf("%d",&S[i][j]);S[i][j]+=S[i-1][j];}
	for(sus=1;sus<=n;sus++)
		for(jos=sus;jos<=n;jos++)
		{
            st=1;dr=0;dim=0;
			for(i=1;i<=m;i++)
			{
				nr=S[jos][i]-S[sus-1][i];
				sir[++dr]=nr;
				s+=nr;
				while(s>x)
				{
                    s-=sir[st];
                    st++;
                }
				dimf=(dr-st+1)*(jos-sus+1);
				if(dimf>sol)
					sol=dimf;
			}
			s=0;
		}
	printf("%d",sol);
}