Cod sursa(job #1163074)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 1 aprilie 2014 10:00:41
Problema Teren Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
using namespace std;
int n, m, x, p, u, i, j, k, sum, maxim;
int s[301][301], a[301][301];
ifstream fin("teren.in");
ofstream fout("teren.out");
int main(){
	fin>> n >> m >> x;
	for(i = 1; i <= n; i++){
		for(j = 1; j <= m; j++){
			fin>> a[i][j];
			s[i][j] = s[i-1][j] + a[i][j];
		}
	}
	maxim = 0;
	for(i = 1; i <= n; i++){
		for(j = i; j <= n; j++){
			sum = s[j][1] - s[i-1][1];
			p = 1;
			for(k = 2; k <= m; k++){
				sum += (s[j][k] - s[i-1][k]);
				while(sum > x){
					sum -= (s[j][p] - s[i-1][p]);
					p++;
				}
				if((j - i + 1) * (k - p + 1) > maxim){
					maxim =(j - i + 1) * (k - p + 1);
				}
			}
		}
	}
	fout<< maxim;
	return 0;
}