class Solution {
public:
int rob(vector<int>& nums) {
int n=nums.size();
if(n==1) return nums[0];
if(n==2){
if(nums[0]>nums[1]) return nums[0];
else return nums[1];
}
vector<int>dp(n,0);
dp[0]=nums[0];
dp[1]=nums[1];
int k=dp[0];
for(int i=2;i<n;i++){
k=max(k,dp[i-2]);
dp[i]=nums[i]+k;
cout<<dp[i]<<endl;
}
int ans=INT_MIN;
for(int i=0;i<n;i++)ans=max(ans,dp[i]);
return ans;
}
};