1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include<cstdio> #include<algorithm> using namespace std; int main(void) { int t,n,big,ans; scanf("%d", &t); while(t--) { scanf("%d", &n); int arr[2][100001]={0}; int dp[2][100001]={0}; for(int i=0; i<2; i++) { for (int j=1; j<=n; j++) scanf(" %d", &arr[i][j]); } dp[0][1]=arr[0][1]; dp[1][1]=arr[1][1]; dp[0][2]=dp[1][1]+arr[0][2]; dp[1][2]=dp[0][1]+arr[1][2]; for(int i=3; i<=n; i++) { big=max(dp[0][i-2], dp[1][i-2]); dp[0][i]=max(dp[1][i-1]+arr[0][i], big+arr[0][i]); dp[1][i]=max(dp[0][i-1]+arr[1][i], big+arr[1][i]); } ans=max(dp[0][n], dp[1][n]); printf("%d\n", ans); } return 0; } | cs |
'백준 2 > DP' 카테고리의 다른 글
| [백준 9095] 1,2,3 더하기 (0) | 2020.12.07 |
|---|---|
| [백준 11057] 오르막수 (0) | 2020.12.07 |
| [백준 11052] 카드 구매하기 (0) | 2020.12.07 |
| [백준 1912] 연속 합 (C++/Python) (0) | 2020.12.07 |
| [백준 2156] 포도주 시식 (0) | 2020.12.07 |