Top

(ΦωΦ)<これの答えですよー。目次はここ

---
問2-2
#include <iostream>
#include <algorithm>
using namespace std;

int main(void) {
  int n; scanf("%d", &n);
  vector<int> v(n), dp(n);
  for(int i=0; i<n; i++) { scanf("%d", &v[i]); }
  dp[0] = v[0];
  dp[1] = max(v[0], v[1]);
  for(int i=2; i<n; i++) {
    dp[i] = max(dp[i-2] + v[i], dp[i-1]);
  }
  int res = dp[n-1];
  printf("%d\n", res);
  return 0;
}
    

(ΦωΦ)<おしまい