Python 250ms solution
\nfrom bisect import bisect_right\n\nclass Solution(object):\n    def orderOfLargestPlusSign(self, N, mines):\n        """\n        :type N: int\n        :type 
```\nfrom bisect import bisect_right\n\nclass Solution(object):\n    def orderOfLargestPlusSign(self, N, mines):\n        """\n        :type N: int\n        :type mines: List[List[int]]\n        :rtype: int\n        """\n        rows = [[-1, N] for _ in xrange(N)]\n        cols = [[-1, N] for _ in xrange(N)]\n        for r, c in mines:\n            rows[r].append(c)\n            cols[c].append(r)\n        for i in xrange(N):\n            rows[i].sort()\n            cols[i].sort()\n        mxp = 0\n        for r in xrange(N):\n            for i in xrange(len(rows[r])-1):\n                left_b = rows[r][i]\n                right_b = rows[r][i+1]\n                for c in xrange(left_b+mxp+1, right_b-mxp):\n                    idx = bisect_right(cols[c], r)-1\n                    up_b = cols[c][idx]\n                    down_b = cols[c][idx+1]\n                    mxp = max(mxp, min(c-left_b, right_b-c, r-up_b, down_b-r))\n        return mxp\n     ```
[]