Cod sursa(job #1617769)

Utilizator livliviLivia Magureanu livlivi Data 27 februarie 2016 16:14:34
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<cstdio>
#define N 300
using namespace std;

int a[N+1][N+1];

int main(){
	freopen ("teren.in","r",stdin);
	freopen ("teren.out","w",stdout);
	int n,m,i,j,l,max=0,k,inc;
	
	scanf ("%d%d%d",&n,&m,&k);
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			scanf ("%d",&a[i][j]);
			a[i][j]+=a[i-1][j];
		}
	}
	
	int s;
	for(i=1;i<=n;i++){
		for(j=i;j<=n;j++){
			s=0;
			inc=1;
			for(l=1;l<=m;l++){
				s=s+a[j][l]-a[i-1][l];
				while(s>k){
					s=s-a[j][inc]+a[i-1][inc];
					inc++;
				}
				
				int aux=(j-i+1)*(l-inc+1);
				max=( (max<aux) ? aux : max );
			}
		}
	}
	
	printf ("%d",max);
	return 0;
}