fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. char a[1001][1001], p[1001][1001];
  6. int n;
  7. cin >> n;
  8. for (int i = 0; i < n; i++)
  9. {
  10. for (int j = 0; j < n; j++)
  11. {
  12. cin >> a[i][j];
  13. if (i > 0)
  14. p[i][j] += p[i - 1][j] - 48;
  15. if (j > 0)
  16. p[i][j] += p[i][j - 1] - 48;
  17. if (i > 0 && j > 0)
  18. p[i][j] -= p[i - 1][j - 1] - 48;
  19. p[i][j] += a[i][j] - 48;
  20. }
  21. }
  22. int ans = -1e9;
  23. for (int i = 0; i < n; i++)
  24. {
  25. for (int j = 0; j < n; j++)
  26. {
  27. for (int k = i;k < n;k++)
  28. {
  29. for (int b = j;b < n;b++)
  30. {
  31. if (b == k) {
  32. int sm = 0;
  33. sm += p[k][b];
  34. if (i > 0)
  35. sm -= p[i - 1][b];
  36. if (j > 0)
  37. sm -= p[k][j - 1];
  38. if (i > 0 && j > 0)
  39. sm += p[i - 1][j - 1];
  40. ans = max(ans, sm);
  41. }
  42. }
  43. }
  44. }
  45.  
  46. }
  47. cout << ans;
  48. }
Success #stdin #stdout 0s 4508KB
stdin
7
1101101
1111110
1011100
0011100
1000010
1100111
1001110
stdout
349