Largest Square Submatrix of all 1's NoSIMD_C#

Find the largest square submatrix consisting entirely of 1s as fast as possible.

Input

A 10,000 x 10,000 matrix of uint8 values (0 or 1) on STDIN.

0, 1, 0, 1, 1
0, 1, 1, 1, 1
0, 0, 1, 0, 0
1, 0, 1, 1, 0

Output

Print the side length of the largest all-ones square submatrix to STDOUT. The answer is guaranteed to be greater than 1.

For the example above, the output is:

2
Date AuthorLanguageStatus Score
Jun 20, 2026 17:50A_ShamanA_ShamanCPPg++10.5.0Success1,114,330
Jun 20, 2026 17:45A_ShamanA_ShamanCPPg++10.5.0Success2,722,770
Jun 20, 2026 17:41A_ShamanA_ShamanCPPg++10.5.0Success1,133,600
Jun 20, 2026 17:39A_ShamanA_ShamanCPPg++10.5.0Success1,066,325+0.50 RP
Jun 20, 2026 17:37A_ShamanA_ShamanCPPg++10.5.0Success1,126,082+8.88 RP
Jun 20, 2026 07:44A_ShamanA_ShamanCPPg++10.5.0Error
Jun 17, 2026 10:15Victor MerckléVictor MerckléZIG0.16.0Success2,980
Jun 17, 2026 10:10Victor MerckléVictor MerckléZIG0.16.0Success3,145
Jun 17, 2026 10:02Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,712
Jun 17, 2026 09:57Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,547
Jun 17, 2026 09:52Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,552
Jun 17, 2026 09:06Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 08:59Victor MerckléVictor MerckléZIG0.16.0Success3,327
Jun 17, 2026 08:54Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 08:43Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,870
Jun 17, 2026 08:38Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,865
Jun 17, 2026 08:05Victor MerckléVictor MerckléZIG0.16.0Success3,462
Jun 17, 2026 08:00Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 07:55Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 07:50Victor MerckléVictor MerckléZIG0.16.0Success29,912
Jun 17, 2026 07:38Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,902
Jun 17, 2026 07:33Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 17, 2026 05:37Victor MerckléVictor MerckléZIG0.16.0Success3,660
Jun 17, 2026 05:32Victor MerckléVictor MerckléZIG0.16.0Success3,457
Jun 17, 2026 05:27Victor MerckléVictor MerckléZIG0.16.0Success3,675
Jun 17, 2026 05:22Victor MerckléVictor MerckléZIG0.16.0Success3,267
Jun 17, 2026 05:17Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 05:12Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 05:07Victor MerckléVictor MerckléZIG0.16.0Success3,222
Jun 17, 2026 04:57Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,767
Jun 17, 2026 04:52Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,962
Jun 17, 2026 04:02Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 03:57Victor MerckléVictor MerckléZIG0.16.0Success3,847
Jun 17, 2026 03:52Victor MerckléVictor MerckléZIG0.16.0Success2,780
Jun 17, 2026 03:47Victor MerckléVictor MerckléZIG0.16.0Success4,032
Jun 17, 2026 03:42Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 03:37Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 03:31Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 17, 2026 03:26Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 17, 2026 03:21Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 17, 2026 03:16Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,097
Jun 17, 2026 02:48Victor MerckléVictor MerckléZIG0.16.0Success3,207
Jun 17, 2026 02:43Victor MerckléVictor MerckléZIG0.16.0Success2,245+333.69 RP
Jun 17, 2026 02:17Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,422
Jun 17, 2026 02:12Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,812
Jun 17, 2026 02:07Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,770
Jun 17, 2026 02:02Victor MerckléVictor MerckléRUSTrust-1.95.0Success5,335
Jun 17, 2026 01:57Victor MerckléVictor MerckléRUSTrust-1.95.0Success5,535
Jun 17, 2026 01:47Victor MerckléVictor MerckléZIG0.16.0Success5,950
Jun 17, 2026 01:42Victor MerckléVictor MerckléZIG0.16.0Success27,137
Jun 17, 2026 01:37Victor MerckléVictor MerckléZIG0.16.0Error
Jun 17, 2026 01:07Victor MerckléVictor MerckléRUSTrust-1.95.0Success5,007
Jun 17, 2026 01:02Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,530
Jun 17, 2026 00:57Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,132
Jun 17, 2026 00:49Victor MerckléVictor MerckléZIG0.16.0Success2,832
Jun 17, 2026 00:44Victor MerckléVictor MerckléZIG0.16.0Success3,472
Jun 17, 2026 00:20Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,390
Jun 17, 2026 00:15Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,287
Jun 17, 2026 00:10Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,220
Jun 17, 2026 00:00Victor MerckléVictor MerckléZIG0.16.0Success3,240
Jun 16, 2026 23:55Victor MerckléVictor MerckléZIG0.16.0Success5,047
Jun 16, 2026 23:49Victor MerckléVictor MerckléZIG0.16.0Success28,910
Jun 16, 2026 23:23Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 16, 2026 23:18Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,115
Jun 16, 2026 23:13Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 16, 2026 23:08Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,650
Jun 16, 2026 23:03Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,437
Jun 16, 2026 22:57Victor MerckléVictor MerckléZIG0.16.0Success2,752
Jun 16, 2026 22:52Victor MerckléVictor MerckléZIG0.16.0Error
Jun 16, 2026 22:47Victor MerckléVictor MerckléZIG0.16.0Success2,830
Jun 16, 2026 22:18Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,245
Jun 16, 2026 22:13Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,005
Jun 16, 2026 22:08Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,477
Jun 16, 2026 22:03Victor MerckléVictor MerckléRUSTrust-1.95.0Success7,657
Jun 16, 2026 21:55Victor MerckléVictor MerckléZIG0.16.0Success5,697
Jun 16, 2026 21:50Victor MerckléVictor MerckléZIG0.16.0Success12,105
Jun 16, 2026 21:45Victor MerckléVictor MerckléZIG0.16.0Success3,070
Jun 16, 2026 21:40Victor MerckléVictor MerckléZIG0.16.0Success4,787
Jun 16, 2026 21:08Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,052
Jun 16, 2026 21:03Victor MerckléVictor MerckléRUSTrust-1.95.0Error
Jun 16, 2026 20:58Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,640
Jun 16, 2026 20:53Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,777
Jun 16, 2026 20:43Victor MerckléVictor MerckléZIG0.16.0Success3,235
Jun 16, 2026 20:38Victor MerckléVictor MerckléZIG0.16.0Success3,107
Jun 16, 2026 20:33Victor MerckléVictor MerckléZIG0.16.0Success4,260
Jun 16, 2026 20:28Victor MerckléVictor MerckléZIG0.16.0Error
Jun 16, 2026 20:05Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,752
Jun 16, 2026 19:57Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,250
Jun 16, 2026 19:52Victor MerckléVictor MerckléRUSTrust-1.95.0Success2,890
Jun 16, 2026 19:47Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,437
Jun 16, 2026 19:40Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,705
Jun 16, 2026 19:23Victor MerckléVictor MerckléZIG0.16.0Success40,132
Jun 16, 2026 19:18Victor MerckléVictor MerckléZIG0.16.0Success14,542
Jun 16, 2026 18:48Victor MerckléVictor MerckléRUSTrust-1.95.0Success3,310
Jun 16, 2026 18:43Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,245
Jun 16, 2026 18:38Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,005
Jun 16, 2026 18:29Victor MerckléVictor MerckléZIG0.16.0Success3,772
Jun 16, 2026 18:24Victor MerckléVictor MerckléZIG0.16.0Success7,217
Jun 16, 2026 18:19Victor MerckléVictor MerckléZIG0.16.0Error
Jun 16, 2026 17:50Victor MerckléVictor MerckléRUSTrust-1.95.0Success4,590