/*动态规划解小偷偷东西问题:给出一组数列,求能偷走的最大值,不能偷连续
的数,否则会除法报警{1,2,3,4,5},偷1+3+5=9.
*/
int rob(vector<int>& nums) {
int n = nums.size();
if(n==0)
return 0;
else if(n==1)
return nums[0];
else{
vector<int>maxV(n,0);
maxV[0] = nums[0];
maxV[1] = max(nums[1],nums[0]);
for(int i=2;i<n;i++){
maxV[i] =max(maxV[i-2]+nums[i],maxV[i-1]);
}
return maxV[n-1];
}
}
int main()
{
vector<int>v={4,2,4,2,5,6};
int res = rob(v);
cout<<res;
return 0;
}