hdu 2713

来源:互联网 发布:数控编程师傅工资多少 编辑:程序博客网 时间:2024/06/13 04:15
#include<stdio.h>#include<string.h>int dp[150005][3];int max(int a,int b){return a>b?a:b;}int main(){int n,i,a[150005];while(scanf("%d",&n)!=EOF){for(i=1;i<=n;i++)scanf("%d",&a[i]);memset(dp,0,sizeof(dp));for(i=1;i<=n;i++){dp[i][0]=max(dp[i-1][1]+a[i],dp[i-1][0]);dp[i][1]=max(dp[i-1][0]-a[i],dp[i-1][1]);}if(dp[n][1]>dp[n][0])printf("%d\n",dp[n][1]);elseprintf("%d\n",dp[n][0]);}return 0;}#include<stdio.h>int a[150005];int main(){    int ans,i,n,flag;    while(scanf("%d",&n)!=EOF)    {        for(i=1;i<=n;i++)            scanf("%d",&a[i]);        a[0]=a[n+1]=0;        ans=0;flag=0;        for(i=1;i<=n;i++)        {            if(flag==0)            {                if(a[i]>=a[i-1]&&a[i]>=a[i+1])                {                    ans=ans+a[i];                    flag=1;                }            }            else            {                if(a[i]<=a[i-1]&&a[i]<=a[i+1])                {                    ans=ans-a[i];                    flag=0;                }            }        }        printf("%d\n",ans);    }    return 0;}

0 0
原创粉丝点击