51nod- 1270 数组的最大代价

来源:互联网 发布:动态分配二维数组 编辑:程序博客网 时间:2024/05/22 20:39

取最大值和最小值,前面对后续有影响!

#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include <vector>#include <iostream>#include<algorithm>using namespace std;int a[50005];int b[50005];int c[50005];int dp[50005][5];int main(){    int n;    cin>>n;    for(int i=1;i<=n;i++)        cin>>a[i];    int res=0;    for(int i=2;i<=n;i++)    {        dp[i][0]=max(dp[i-1][0],dp[i-1][1]+abs(1-a[i-1])  );        dp[i][1]=max(dp[i-1][1]+abs(a[i]-a[i-1]),dp[i-1][0]+abs(a[i]-1) );    }    cout<<max(dp[n][0],dp[n][1])<<endl;}


0 0
原创粉丝点击