// #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432 #include <iostream> #include <vector> #include <algorithm> #define pre(i,j,k) for (int i = j; i < k; i++) using namespace std; int main() { ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); int n; cin >> n; vector<int> a(n + 1, 0);//--------------多出来的一个不是下标从1开始,是因为到了顶层之后不用往上⇔加0 pre(i, 0, n) cin >> a[i]; vector<int> dp(n + 3, 0);//----------------前面空两个0用来推导第0层和第1层,后面空一个用来存顶层的答案,对应a【n】 pre(i, 0, n + 1) dp[i + 2] = min(dp[i], dp[i + 1]) + a[i]; cout << dp[n + 2]; return 0; } // 64 位输出请用 printf("%lld")