铺设道路

首先作为2018的\(DAY \quad T1\),该签到还是应该签到的,一个很朴素的贪心,只要找到\(a[i-1]<a[i]\)并用\(ans\)记录\(a[i]-a[i-1]\)的值,即可轻松\(A\)掉。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
using namespace std;
const int maxn =1e6+7;
#define scy(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
inline int read() {
  int x=0,f=1;
  char ch=getchar();
  while(ch<'0'||ch>'9'){
    if(ch=='-') f=-1;
    ch=getchar();
  }
  while(ch>='0'&&ch<='9'){
    x=(x<<1)+(x<<3)+(ch^48);
    ch=getchar();
  }
  return x*f;
}
int main(){
  //  scy("in");
  int n,a[100005];
  long long ans=0;
  n=read();
  for(int i=1;i<=n;i++){
    a[i]=read();
  }
  for(int i=2;i<=n;i++){
    if(a[i]>a[i-1]){
    ans+=a[i]-a[i-1];
  }
}
  printf("%lld",(long long)ans+a[1]);
  return 0;
}

posted on 2020-10-12 14:26  fishsit  阅读(117)  评论(0编辑  收藏  举报

导航