Pagini recente » Cod sursa (job #619041) | Cod sursa (job #697017) | Cod sursa (job #39287) | Cod sursa (job #3241361) | Cod sursa (job #2806708)
#include <fstream>
#define NMAX 305
using namespace std;
ifstream f("teren.in");
ofstream g("teren.out");
int n, m, maxRotten, answer;
int a[NMAX][NMAX];
int main()
{
f >> n >> m >> maxRotten;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
f >> a[i][j];
a[i][j] = a[i][j] + a[i - 1][j];
}
}
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
int leftWing = 0;
int rotten = 0;
for (int rightWing = 1; rightWing <= m; rightWing++) {
rotten = rotten + a[j][rightWing] - a[i - 1][rightWing];
while (rotten > maxRotten && leftWing <= rightWing) {
leftWing++;
rotten = rotten - a[j][leftWing] + a[i - 1][leftWing];
}
int area = (j - i + 1) * (rightWing - leftWing);
answer = max(answer, area);
}
}
}
g << answer << "\n";
return 0;
}