#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]);
else
printf("%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;
}
hdu 2713

最新推荐文章于 2017-08-06 12:19:40 发布
