fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const long long MaxN = 1e5 + 5, INF = 1e18;
  4. long long n, dp[MaxN], t[MaxN], r[MaxN];
  5. void solve1()
  6. {
  7. memset(dp,0,sizeof(dp));
  8. dp[1]=t[1];
  9. for (long long i=2; i<=n; i++)
  10. {
  11. dp[i]=min(dp[i-1]+t[i],dp[i-2]+r[i-1]);
  12. }
  13. cout << dp[n];
  14. }
  15. void solve2()
  16. {
  17. for(long long i = 0; i <= n; i++)
  18. {
  19. dp[i] = INF;
  20. }
  21.  
  22. dp[0] = 0;
  23.  
  24. for(long long i = 0; i < n; i++)
  25. {
  26. dp[i + 1] = min(dp[i + 1], dp[i] + t[i + 1]);
  27.  
  28. if(i + 2 <= n)
  29. {
  30. dp[i + 2] = min(dp[i + 2], dp[i] + r[i + 1]);
  31. }
  32. }
  33.  
  34. cout << dp[n];
  35. }
  36. int main()
  37. {
  38. ios_base::sync_with_stdio(0);
  39. cin.tie(0);
  40. cin >> n;
  41. for (long long i=1; i<=n; i++)
  42. {
  43. cin >> t[i];
  44. }
  45. for (long long i=1; i<=n-1; i++)
  46. {
  47. cin >> r[i];
  48. }
  49. solve2();
  50.  
  51. }
Success #stdin #stdout 0s 5600KB
stdin
Standard input is empty
stdout
Standard output is empty