Problem D. Jhadgre的梯子

题目描述 

陶陶摘了这么多年苹果,Jhadgre他也很想摘苹果。

这天Jhadgre趁着陶陶还没起床,决定先去把苹果摘了,现在Jhadgre知道树上有N个苹果以及每个苹果离地面的高度,当然机智的Jhadgre不会像陶陶一样只带一个30厘米的板凳,聪明的Jhadgre决定带一架梯子!这样就可以摘到所有苹果了。

现在Jhadgre告诉你他把手伸直的时候能够到达的最大高度,请你帮他算一下他需要带一架至少多高的梯子才能摘到所有苹果。假设他碰到苹果苹果就会掉下来。

输入描述:

第一行两个个整数N,L(1<=N,L<=100000)表示有N个苹果和Jhadgre把手伸直的时候能够到达的最大高度L。
接下去N个正整数a1,a2,...an,表示每个苹果离地面的高度。(1<=ai<=2147484649)

输出描述:

输出Jhadgre需要带的梯子的高度。若不需要梯子Jhadgre就能摘到所有苹果则输出0.

示例1

输入

5 50
10 20 30 40 100

输出

50

题解:签到题,但是注意ai的范围比int_64要大一点

#include <bits/stdc++.h>
#define pb push_back
#define ll long long
#define ull unsigned long long
#define EPS 1e-8
#define PI acos(-1.0)
using namespace std;
 
ll a[100010];
 
int main()
{
    int n,l;
    scanf("%d %d",&n,&l);
    ll maxn=0;
    for(int i = 1;i<=n;i++){
        scanf("%lld",a+i);
        if(a[i]>maxn)
            maxn=a[i];
    }
    if(maxn>l)
        printf("%lld\n",maxn-l);
    else
        printf("0\n");
     
    return 0;
}

 

发表评论,支持MarkDown语法