class Solution {
public:
int rob(vector<int> &num) {
int dp[2];
dp[0] = dp[1] = 0;
for (int i = 0; i < num.size(); ++i) {
int a = max(dp[0], dp[1]);
int b = dp[0] + num[i];
dp[0] = a;
dp[1] = b;
}
return max(dp[0], dp[1]);
}
};