/* -*- coding: utf-8 -*- * * 1199.cc: No.1199 お菓子配り-2 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_N = 1000; const int MAX_M = 1000; const long long LINF = 1LL << 62; /* typedef */ typedef long long ll; /* global variables */ ll dp[MAX_N + 1][2]; /* subroutines */ /* main */ int main() { int n, m; scanf("%d%d", &n, &m); dp[0][0] = -LINF; dp[0][1] = 0; for (int i = 0; i < n; i++) { ll asum = 0; for (int j = 0; j < m; j++) { ll aij; scanf("%lld", &aij); asum += aij; } dp[i + 1][0] = max(dp[i][0], dp[i][1] + asum); dp[i + 1][1] = max(dp[i][1], dp[i][0] - asum); } printf("%lld\n", max(dp[n][0], dp[n][1])); return 0; }