#include #include using namespace std; int main() { int i, N, U1[1000] = {},U2[1000], V[1000];//Ui[n]はそれぞれn個しか寿司がないときの最大値で、U1はn個目の寿司をとる場合、U2は取らない場合 cin >> N; for (i = 1; i <= N; i++) { cin >> V[i]; } U1[1] = V[1]; U2[1] = 0; if(N==1) { cout << V[1]; return 0; } U1[2] = V[2]; U2[2] = V[1]; for (i = 2; i <= N-1; i++) { U1[i + 1] = max(U1[i - 1] + V[i + 1], U2[i] + V[i + 1]); U2[i + 1] = max(U1[i],U1[i-1]); } cout << max(U1[N], U2[N]); return 0; }