Pagini recente » Cod sursa (job #1947755) | Cod sursa (job #2214539) | Cod sursa (job #1996683) | Cod sursa (job #2902276) | Cod sursa (job #1909508)
#include <fstream>
#define NMAX 205
using namespace std;
ifstream fin("bmatrix.in");
ofstream fout("bmatrix.out");
int sum[NMAX][NMAX], n, m, local_sum, max_sum = -0x3f3f3f3f;
char s[NMAX];
int total_area(int i, int j);
int main()
{
int i, j, k;
fin >> n >> m;
for(i = 1; i <= n; i++)
{
fin.getline(s, 205);
for(j = 0; j < m; j++)
sum[i][j+1] = sum[i-1][j+1] + s[j] -'0';
}
for(i = 2; i < n; i++)
for(j = 0; j < i; j++)
for(k = i + 1; k <= n; k++)
{
local_sum = 0;
local_sum += total_area(j, i);
local_sum += total_area(i, k);
if(local_sum > max_sum)
max_sum = local_sum;
}
fout << max_sum << '\n';
return 0;
}
int total_area(int i, int j)
{
int v[NMAX], k,seq = 0, max_seq = 0;
for(k = 1; k <= m; k++)
v[k] = sum[j][k] - sum[i][k];
for(k = 1; k <= m; k++)
{
if(v[k] == 0)
++seq;
else
seq = 0;
if(seq > max_seq)
max_seq = seq;
}
return (j - i)*max_seq;
}