/*
动态规划,d[n] = min(d[i-1]+cost[i-1],d[i-2]+cost[i-2]);
*/

int min(int a, int b){
    if(a>b) return b;
    else return a;
}


int minCostClimbingStairs(int* cost, int costLen ) {
    if(costLen==1) return cost[0];
    int dp[costLen+1];
    dp[0] = 0;
    dp[1] = 0;
    for(int i = 2; i < costLen+1; i++){
        dp[i] = min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
    }
    return dp[costLen];
}