Submission #18137

# Submission time Handle Problem Language Result Execution time Memory
18137 2016-01-24T07:21:13 Z tlwpdus On grid (kriii2_O) C++
0 / 4
0 ms 2208 KB
#include<stdio.h>
#include<algorithm>

using namespace std;

int r, c;
int map[310][310];
int psum[310][310];
int dyn[310][310];

void process() {
	int i, j, k, l, maxi;
	for (i=0;i<r;i++) for (j=0;j<c;j++) {
		if (i==0&&j==0) psum[i][j] = map[i][j];
		else if (i==0) psum[i][j] = psum[i][j-1]+map[i][j];
		else if (j==0) psum[i][j] = psum[i-1][j]+map[i][j];
		else psum[i][j] = psum[i-1][j]+psum[i][j-1]-psum[i-1][j-1]+map[i][j];
	}
	for (i=0;i<r;i++) for (j=0;j<c;j++) {
		if (i==0||j==0) dyn[i][j] = psum[i][j];
		else {
			maxi = 0;
			for (k=0;k<i;k++) for (l=0;l<j;l++) {
				maxi = max(maxi,dyn[k][l]+psum[i][j]-psum[k][j]-psum[i][l]+psum[k][l]);
			}
			dyn[i][j] = maxi;
		}
	}
	printf("%d\n",dyn[r-1][c-1]);
}

void input() {
	int i, j;
	scanf("%d %d",&r,&c);
	for (i=0;i<r;i++) {
		for (j=0;j<c;j++) {
			scanf("%d",&map[i][j]);
		}
	}
}

int main() {
	input();
	process();
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 2208 KB Output is correct
2 Correct 0 ms 2208 KB Output is correct
3 Correct 0 ms 2208 KB Output is correct
4 Correct 0 ms 2208 KB Output is correct
5 Correct 0 ms 2208 KB Output is correct
6 Correct 0 ms 2208 KB Output is correct
7 Correct 0 ms 2208 KB Output is correct
8 Correct 0 ms 2208 KB Output is correct
9 Correct 0 ms 2208 KB Output is correct
10 Incorrect 0 ms 2208 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Halted 0 ms 0 KB -