Submission #9388

#TimeUsernameProblemLanguageResultExecution timeMemory
9388hodducOn grid (kriii2_O)C++98
4 / 4
48 ms2504 KiB
#include<stdio.h> int R, C; int map[301][301]; int s[301][301]; int d[301][301]; int dd[301][301]; int tr[301]; int main() { scanf("%d %d", &R, &C); for(int i = 1; i <= R; i++) for(int j = 1; j <= C; j++){ scanf("%d", &map[i][j]); } for(int i = 1; i <= R; i++){ int t = 0; for(int j = 1; j <= C; j++){ t += map[i][j]; s[i][j] = s[i-1][j] + t; } } for(int i = 1; i <= R; i++) { for(int kk = 1; kk < i; kk++) tr[kk] = -1999999999; for(int j = 1; j <= C; j++) { int tt = 0; for(int k = 1; k < i; k++) { if(tt < tr[k] - s[k][j]) tt = tr[k] - s[k][j]; int tmp = (dd[k][j] - s[i][j]); if(tr[k] < tmp) tr[k] = tmp; } d[i][j] = tt + s[i][j]; dd[i][j] = d[i][j] + s[i][j]; } } printf("%d\n", d[R][C]); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...