Pagini recente » Cod sursa (job #1726494) | Cod sursa (job #358675) | Cod sursa (job #2753141) | Cod sursa (job #456695) | Cod sursa (job #3151343)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("teren.in");
ofstream fout("teren.out");
const int NMAX = 304;
int a[NMAX][NMAX], resi1, resi2, resj1, resj2, amax;
int main() {
int n, m, x;
fin >> n >> m >> x;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
fin >> a[i][j];
a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1];
}
}
for (int i1 = 1; i1 <= n; i1++) {
for (int j1 = 1; j1 <= m; j1++) {
for (int i2 = i1; i2 <= n; i2++) {
for (int j2 = j1; j2 <= m && a[i2][j2] - a[i2][j1 - 1] - a[i1 - 1][j2] + a[i1 - 1][j1 - 1] <= x; j2++) {
int s = a[i2][j2] - a[i2][j1 - 1] - a[i1 - 1][j2] + a[i1 - 1][j1 - 1];
if (s <= x) {
int arie = (j2 - j1 + 1) * (i2 - i1 + 1);
if (arie > amax) {
amax = arie;
resi1 = i1;
resi2 = i2;
resj1 = j1;
resj2 = j2;
}
}
}
}
}
}
fout << amax;
return 0;
}