File tree 1 file changed +56
-0
lines changed
1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < bits/stdc++.h>
2
+ using namespace std ;
3
+ int main ()
4
+ {
5
+ int n,m;cin>>n>>m;
6
+ int arr[n][m];
7
+
8
+
9
+ for (int i=0 ;i<n;i++)
10
+ {
11
+ for (int j=0 ;j<m;j++)
12
+ {
13
+ cin>>arr[i][j];
14
+ }
15
+ }
16
+
17
+ int **dp;
18
+ dp=new int *[n];
19
+ for (int i=0 ;i<n;i++)
20
+ dp[i]=new int [m];
21
+ for (int j=m-1 ;j>=0 ;j--)
22
+ {
23
+ for (int i=n-1 ;i>=0 ;i--)
24
+ {
25
+ if (j==m-1 )
26
+ {
27
+ dp[i][j]=arr[i][j];
28
+ }
29
+ else if (i==n-1 )
30
+ {
31
+ dp[i][j]=arr[i][j]+max (dp[i][j+1 ],dp[i-1 ][j+1 ]);
32
+ }
33
+ else if (i==0 )
34
+ {
35
+ dp[i][j]=arr[i][j]+max (dp[i][j+1 ],dp[i+1 ][j+1 ]);
36
+
37
+ }
38
+ else
39
+ {
40
+
41
+ dp[i][j]=arr[i][j]+max (dp[i][j+1 ],max (dp[i+1 ][j+1 ],dp[i-1 ][j+1 ]));
42
+
43
+ }
44
+ }
45
+ }
46
+
47
+ int b=dp[0 ][0 ];
48
+ for (int i=1 ;i<n;i++)
49
+ {
50
+
51
+ b =max (b,dp[i][0 ]);
52
+
53
+ }
54
+
55
+ cout<<b<<endl;
56
+ }
You can’t perform that action at this time.
0 commit comments