public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 计算
     * @param n int整型 数组的长度
     * @param array int整型一维数组 长度为n的数组
     * @return long长整型   打家劫舍问题 不看答案  
     */
    public long subsequence (int n, int[] array) {
        // write code here
        if(array == null || n == 0){
            return 0;
        }
        // 1 选   0 表示不选
        long[][] dp = new long[n][2];
        dp[0][0] = 0;
        dp[0][1] = array[0];
        for (int i = 1; i < n; i++) {
            int num = array[i];
            dp[i][0] = Math.max(dp[i-1][0],dp[i-1][1]);
            dp[i][1] = dp[i-1][0]+num;

        }
       return Math.max(dp[n-1][0],dp[n-1][1]);
    }
}