题解 | #不相邻取数#
不相邻取数
http://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e
类似于打家劫舍,取不相邻的数,记得输出的时候,换成%lld
#include <iostream>
using namespace std;
const int N = 100010;
int a[N];
long long f[N];
int n;
int main() {
cin >> n;
for (int i = 1; i <= n; i ++) {
cin >> a[i];
}
f[0] = 0, f[1] = a[1];
for (int i = 2; i <= n; i ++) {
f[i] = max (a[i] + f[i - 2], f[i - 1]);
}
printf("%lld", f[n]);
return 0;
}