Advertisement
dmkozyrev

115.cpp

May 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. int main() {
  6.     freopen("input.txt", "rt", stdin);
  7.     freopen("output.txt", "wt", stdout);
  8.    
  9.     int rows, cols;
  10.     scanf("%d %d", &rows, &cols);
  11.    
  12.     int max = -100;
  13.    
  14.     std::vector<std::vector<int>> sum(1+rows, std::vector<int>(1+cols, 0));
  15.     for (int r = 1; r <= rows; ++r)
  16.         for (int c = 1; c <= cols; ++c) {
  17.             int v;
  18.             scanf("%d", &v);
  19.             sum[r][c] = sum[r-1][c] + v;
  20.             max = std::max(max, v);
  21.         }
  22.    
  23.     if (max > 0) {
  24.         for (int r1 = 1; r1 <= rows; ++r1)
  25.             for (int r2 = r1; r2 <= rows; ++r2) {
  26.                 int s = 0;
  27.                 for (int c = 1; c <= cols; ++c) {
  28.                     s += sum[r2][c] - sum[r1-1][c];
  29.                     if (s < 0) s = 0;
  30.                     max = std::max(max, s);
  31.                 }
  32.             }
  33.     }
  34.    
  35.     printf("%d", max);
  36.    
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement