Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <vector>
- #include <algorithm>
- int main() {
- freopen("input.txt", "rt", stdin);
- freopen("output.txt", "wt", stdout);
- int rows, cols;
- scanf("%d %d", &rows, &cols);
- int max = -100;
- std::vector<std::vector<int>> sum(1+rows, std::vector<int>(1+cols, 0));
- for (int r = 1; r <= rows; ++r)
- for (int c = 1; c <= cols; ++c) {
- int v;
- scanf("%d", &v);
- sum[r][c] = sum[r-1][c] + v;
- max = std::max(max, v);
- }
- if (max > 0) {
- for (int r1 = 1; r1 <= rows; ++r1)
- for (int r2 = r1; r2 <= rows; ++r2) {
- int s = 0;
- for (int c = 1; c <= cols; ++c) {
- s += sum[r2][c] - sum[r1-1][c];
- if (s < 0) s = 0;
- max = std::max(max, s);
- }
- }
- }
- printf("%d", max);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement