#include "bits/stdc++.h"
#define FOR(i,a,b)for(int i=(a);i<(b);i++)
#define F0R(i,a)FOR(i,0,a)
#define ROF(i,a,b)for(int i=(b)-1;i>=(a);i--)
#define R0F(i,a)ROF(i,0,a)
#define REP(a)F0R(_,a)
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
vector<string> a;
int n, m; cin >> n >> m;
F0R(i,n){
string s; cin >> s;
a.push_back(s);
}
int mw = INT_MAX, mh = INT_MAX;
for (int i = 0; i < n; i ++){
for (int j = 0; j < m; j ++){
if (a[i][j] == '1'){
int k = j;
for (; k < m and a[i][k] == '1'; k ++);
int w = k - j;
mw = min(mw, w);
j = k;
}
}
}
for (int i = 0; i < m; i ++){
for (int j = 0; j < n; j ++){
if (a[j][i] == '1'){
int k = j;
for (; k < n and a[k][i] == '1'; k ++);
int h = k - j;
mh = min(mh, h);
j = k;
}
}
}
if (mw == INT_MAX) cout << 0 << endl;
else cout << 1ll * mw * mh << endl;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |