Cod sursa(job #497164)

Utilizator vlad.doruIon Vlad-Doru vlad.doru Data 1 noiembrie 2010 19:27:32
Problema Teren Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;

ifstream in("teren.in");
ofstream out("teren.out");

int n,m,x,ariecurent,ariemax=0;
short int aux[301][301];

void prelucrare(){
	int i,j,up,down,count;
	for(i=1;i<=m;i++){
		for(j=i;j<=m;j++){
			ariecurent=0;
			up=1;
			down=0;
			count=0;
			while(up<=n){
				while(down<=n && count<=x){
					down++;
					count+=aux[down][j]-aux[down][i-1];
				}
				ariecurent=(down-up)*(j-i+1);
				if(ariecurent>ariemax)
					ariemax=ariecurent;
				count-=aux[up][j]-aux[up][i-1];
				up++;
			}
		}
	}
	out<<ariemax;
}

int main(){
	int i,j,y;
	in>>n>>m>>x;
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			in>>y;
			aux[i][j]=aux[i][j-1]+y;
		}
	}
	prelucrare();
	return 0;
}