/* g++ -std=c++11 -Wall -O2 -o main.exe main.cpp ./main.exe */ #include #include #include #include //intの最大値: INT_MAX //longの最大値: LONG_MAX //long longの最大値: LLONG_MAX #include #include #include #include #include #include #include #include #include #include #include //最大公約数: gcd() //最小公倍数: lcm() #define ll long long int using namespace std; template void sortasc(vector &v){ //vectorを昇順にソート sort(v.begin(), v.end(), std::less()); return; } template void sortdesc(vector &v){ //vectorを降順にソート sort(v.begin(), v.end(), std::greater()); return; } //------------------------------------------------------------------------------ int main(){ int N; cin >> N; vector v(N), c(N); for(int i = 0; i < N; i++){ cin >> v[i]; } c[0] = v[0]; c[1] = max(v[0], v[1]); for(int i = 2; i < N; i++){ c[i] = max(c[i - 1], c[i - 2] + v[i]); } cout << c[N - 1] << endl; return 0; }