Advertisement
Morass

Rectangle Matrix (0)

Jan 12th, 2016
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.47 KB | None | 0 0
  1. int P[MX][MX];
  2. int lrc(int N,int M){
  3.     static int U[MX][MX],L[MX][MX],R[MX][MX];
  4.     int r(0);
  5.     F(N){
  6.         int lo(-1),ro(M);
  7.         FF(M)if(P[i][j])
  8.             U[i][j]=L[i][j]=0,lo=j;
  9.         else U[i][j]=!i?1:U[i-1][j]+1,L[i][j]=!i?lo+1:max(L[i-1][j],lo+1);
  10.         for(int j(M-1);~j;--j)
  11.             if(P[i][j])R[i][j]=N,ro=j;
  12.             else R[i][j]=!i?ro-1:min(R[i-1][j],ro-1)
  13.                ,r=max(r,U[i][j]*(R[i][j]-L[i][j]+1));
  14.     }
  15.     return r;
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement