码迷,mamicode.com
首页 > 编程语言 > 详细

51nod 1270 数组的最大代价

时间:2017-08-17 00:49:40      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:printf   最大   数组   int   include   print   its   提前   ace   

 

感觉自己最近状态好差劲啊

做题都得提前看一下题解

不过这题也没那么难,可以大概知道的是  如果要满足代价最大,A【i】的值不是1就是B【i】

#include<bits/stdc++.h>
using namespace std;

int s[50010],dp[50010][2];

int main ()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&s[i]);
    for(int i=2;i<=n;i++)
    {
        dp[i][0] = max(dp[i-1][0],dp[i-1][1]+abs(s[i-1]-1)); //第i位为1
        dp[i][1] = max(dp[i-1][0]+abs(s[i]-1),dp[i-1][1]+abs(s[i]-s[i-1]));//第i位为s[i]
    }
    printf("%d",max(dp[n][0],dp[n][1]));
}

 

51nod 1270 数组的最大代价

标签:printf   最大   数组   int   include   print   its   提前   ace   

原文地址:http://www.cnblogs.com/Draymonder/p/7376320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!