Submission #848374

#TimeUsernameProblemLanguageResultExecution timeMemory
848374Darren0724Bomb (IZhO17_bomb)C++17
24 / 100
261 ms129812 KiB
#include <bits/stdc++.h> using namespace std; const long long INF=1e18; const int N=2510; int v[N][N],u[N][N],d[N][N],l[N][N],r[N][N]; int32_t main() { int n,m;cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ char c;cin>>c; v[i][j]=c-'0'; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(v[i][j]==0){ continue; } u[i][j]=u[i-1][j]+1; l[i][j]=l[i][j-1]+1; } } for(int i=n;i>0;i--){ for(int j=m;j>0;j--){ if(v[i][j]==0){ continue; } d[i][j]=d[i+1][j]+1; r[i][j]=r[i][j+1]+1; } } int a=N,b=N; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(v[i][j]==0){ continue; } a=min(a,r[i][j]+l[i][j]-1); b=min(b,u[i][j]+d[i][j]-1); //cout<<r[i][j]<<' '<<l[i][j]<<' '<<u[i][j]<<' '<<d[i][j]<<endl; } } cout<<a*b<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...