//不能选择相邻的两个数;找出最大和;递推完成
//用数组保存起来;
#include <iostream>
#include <algorithm>
using namespace std;
int arr[]={1,2,4,1,7,8,3};
int rec_opt(int n)
{
int opt[sizeof(arr)+20];
memset(opt,0,sizeof(opt));
opt[0] = arr[0];
opt[1] = max(arr[1],arr[0]);
for(int i=2; i<=n ; i++)
opt[i] = max(opt[i-1],opt[i-2]+arr[i]);
return opt[n];
}
int main()
{
cout << rec_opt(6) << endl;
return 0;
}