#include #include #include using namespace std; int op(int a,int b){return min(a,b);} int e(){return(int)1e9;} int H,W; string S[1<<17]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>H>>W; for(int i=0;i>S[i]; vectorprv(W,0); for(int i=H-2;i>=0;i--) { atcoder::segtreeseg(W); int l=0,r=0; while(r1) { int mid=(l+r)/2; if(seg.prod(max(j-mid,0),min(j+mid+1,W))<=mid)r=mid; else l=mid; } prv[j]=r; } } } for(int j=0;j