Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX(a,b) ((a) > (b) ? (a) : (b))
- int main(void){
- int n, m;
- scanf("%d %d", &n, &m);
- long long int mas[n+2][m+2], d[n+2][m+2];
- int i = 0, j = 0;
- for (; i < n + 2; i++){
- for(j = 0; j < m + 2; j++){
- d[i][j] =0;
- }
- }
- for( i= 0; i < n; i++)
- for (j= 0; j < m; j++)
- scanf("%lld", &mas[i][j]);
- for ( i = 1; i < n+1; i++){
- d[i][1] = mas[i - 1][0];
- }
- for (j = 2; j < m+1; j++){
- for (i = 1; i < n + 1; i++)
- d[i][j] = mas[i - 1][j-1] + MAX(MAX(d[i-1][j-1], d[i+1][j-1]), d[i][j-1]);
- }
- //
- long long int lm = 0;
- for( i= 1; i < n+1; i++){
- if (d[i][m] > lm) lm = d[i][m];
- }
- printf("%lld", lm);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement