#include #include using namespace std; int main() { int N; vector V; vector> memo; cin >> N; V.resize(N + 1); V[0] = 0; //memoと合わせる for (int i = 1; i <= N; ++i) cin >> V[i]; memo.resize(N + 1); memo[0] = pair(0, true); memo[1] = pair(V[1], true); for (int p = 2; p <= N; ++p) { int i; bool b; if (memo[p - 1].second == true) { if (memo[p - 1].first < memo[p - 2].first + V[p]) { i = memo[p - 2].first + V[p]; b = true; } else { i = memo[p - 1].first; b = false; } } else { i = memo[p - 1].first + V[p]; b = true; } memo[p] = pair(i, b); } cout << memo[N].first << endl; return 0; }