1 solutions
-
0
C++ :
#include <iostream> #include <algorithm> using namespace std; const int N(2003); int f[N]={0},lb[N]={0},rb[N]={0}; int main() { int n,ans(0); cin>>n; for(int i=1;i<=n;i++) { int x; for(int j=1;j<=n;j++) { cin>>x; if(x) f[j]=0; else f[j]++; } for(int j=1;j<=n;j++) for(lb[j]=j;lb[j]>1&&f[j]<=f[lb[j]-1];) lb[j]=lb[lb[j]-1]; for(int j=n;j>=1;j--) for(rb[j]=j;rb[j]<n&&f[j]<=f[rb[j]+1];) rb[j]=rb[rb[j]+1]; for(int j=1;j<=n;j++) ans=max(ans,f[j]*(rb[j]-lb[j]+1)); } cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 740
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By