Advertisement
senb1

krsu 3404 (20 points)

Mar 24th, 2023
761
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.65 KB | None | 0 0
  1. # by: senb1 aka amigo
  2.  
  3. X, Y, Z = map(int, input().split())
  4. A = [0] * (X+Y+Z)
  5. B = [0] * (X+Y+Z)
  6. C = [0] * (X+Y+Z)
  7.  
  8. for i in range(X+Y+Z):
  9.     A[i], B[i], C[i] = map(int, input().split())
  10.  
  11. dp = [[[0 for k in range(Z+1)] for j in range(Y+1)] for i in range(X+1)]
  12.  
  13. for i in range(X+1):
  14.     for j in range(Y+1):
  15.         for k in range(Z+1):
  16.             if i > 0:
  17.                 dp[i][j][k] = max(dp[i][j][k], dp[i-1][j][k] + A[i+j+k-1])
  18.             if j > 0:
  19.                 dp[i][j][k] = max(dp[i][j][k], dp[i][j-1][k] + B[i+j+k-1])
  20.             if k > 0:
  21.                 dp[i][j][k] = max(dp[i][j][k], dp[i][j][k-1] + C[i+j+k-1])
  22.  
  23. print(dp[X][Y][Z])
  24.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement