Pagini recente » Cod sursa (job #2583778) | Cod sursa (job #266034) | Cod sursa (job #438213) | Cod sursa (job #633473) | Cod sursa (job #896116)
Cod sursa(job #896116)
#include <fstream>
using namespace std;
FILE*f=fopen("teren.in", "r");
FILE*g=fopen("teren.out", "w");
int n, m, x, v[310][310], s[310][310], i, j, p, ii, jj, a, maxim;
int main(){
fscanf(f, "%d %d %d", &n, &m, &x);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
fscanf(f, "%d", &v[i][j]);
fclose(f);
for(i=1; i<=n; i++)
for(j=1; j<=m; j++)
s[i][j]=v[i][j]+s[i-1][j]+s[i][j-1]-s[i-1][j-1];
for(i=1; i<=n; i++)
for(ii=i; ii<=n; ii++)
{
p = 1;
for (u=1;u<=m;u++) {
while (s[j][u] + s[i-1][p-1] - s[j][p-1] - s[i-1][u] > x) {
p++;
}
if ((u-p+1) * (j-i+1) > maxim)
maxim = (u-p+1) * (j-i+1);
}
}
fprintf(g, "%d\n", maxim);
fclose(g);
return 0;
}