Pagini recente » Cod sursa (job #3367894) | Cod sursa (job #3368243) | Rating Oprea Rares (Oprea_Rares) | Cod sursa (job #3367347) | Cod sursa (job #3367893)
#include <fstream>
using namespace std;
ifstream fin("bmatrix.in");
ofstream fout("bmatrix.out");
bool mat[1001][1001];
int jos[1001][1001], stanga[1001][1001], n, m, i, j, Max1, Max2;
int main() {
fin >> n >> m;
for ( i = 1; i <= n; i++ )
for ( j = 1; j <= m; j++ ) {
fin >> mat[i][j];
if ( !mat[i][j] ) {
stanga[i][j] = stanga[i][j-1] + 1;
jos[i][j] = jos[i-1][j] * ( stanga[i][j] == stanga[i-1][j] ) + 1;
}
}
for ( i = 1; i <= n; i++ )
for ( j = 1; j <= m; j++ )
if ( !mat[i][j] && ( i == n || mat[i+1][j] ) && ( j == m || mat[i][j+1] ) )
if ( Max1 <= stanga[i][j] * jos[i][j] ) {
Max2 = max(Max2, Max1);
Max1 = stanga[i][j] * jos[i][j];
} else if ( Max2 <= stanga[i][j] * jos[i][j] )
Max2 = stanga[i][j] * jos[i][j];
fout << Max1 + Max2;
return 0;
}