Guest User

Untitled

a guest
Jan 23rd, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. #include <stdio.h>
  2. unsigned long long DP[100001][3];
  3. unsigned long long answer = 0;
  4. unsigned int data[100001];
  5. int main() {
  6.   int N, i; 
  7. scanf("%d", &N);
  8.  
  9. for (i = 1; i <= N; i++) {
  10. scanf("%d", &data[i]);
  11. }
  12.  DP[1][1] = data[1];
  13. DP[2][1] = data[2];
  14. DP[2][2] = DP[1][1] + data[2];
  15.  
  16. for (int k = 3; k <= N; k++) {  
  17. DP[k][0] = DP[k - 1][2];  
  18. DP[k][1] = DP[k - 1][0] + data[k]; 
  19. DP[k][2] = DP[k - 1][1] + data[k];
  20. }
  21.  answer = (DP[N][0] > DP[N][1]) ? DP[N][0] : DP[N][1];
  22. if (answer < DP[N][2]) answer = DP[N][2];
  23.  
  24. printf("%lld\n", answer);
  25. return 0;
  26. }
Add Comment
Please, Sign In to add comment