POJ 2181 贪心

来源:互联网 发布:手机备份应用数据软件 编辑:程序博客网 时间:2024/04/29 16:50

思路:
贪心

对于每个波浪 ans+=最大值-最小值

注意最后一定是选最大值

//By SiriusRen#include <cstdio>using namespace std;int n,a[150500],flag,ans;int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++)scanf("%d",&a[i]);    for(int i=1;i<=n;i++)        if(flag&&a[i]<a[i-1])ans+=a[i-1],flag=!flag;        else if(!flag&&a[i]>a[i-1])ans-=a[i-1],flag=!flag;    if(flag)ans+=a[n];    printf("%d\n",ans);}

这里写图片描述

0 0