CF1041D Glider

    • 115通过
    • 160提交
  • 题目来源 CodeForces 1041D
  • 评测方式 RemoteJudge
  • 标签
  • 难度 提高+/省选-
  • 时空限制 2000ms / 256MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 最新讨论 显示

    推荐的相关题目 显示

    题意翻译

    你在玩一个吃鸡游戏,你现在要跳伞。你的飞机现在在高度为$h$的空中飞行,你每飞一个单位长度的距离,你就会下落一个单位长度的高度,当然,有些地方是上升气流,你不会下落,你会往前直飞,由于你想在空中就被人打死,求你最远的飞行距离
    
    输入格式:
    第一行两个正整数$n$,$h$,代表有$n$段上升气流,飞机的高度为$h$。
    
    接下来$n$行,每行两个数$x_{i1}$,$x_{i2}$。代表$x_{i1}$至$x_{i2}$这段区间为上升气流。
    
    输出格式:
    一个整数,代表你最远的飞行距离

    题目描述

    A plane is flying at a constant height of $ h $ meters above the ground surface. Let's consider that it is flying from the point $ (-10^9, h) $ to the point $ (10^9, h) $ parallel with $ Ox $ axis.

    A glider is inside the plane, ready to start his flight at any moment (for the sake of simplicity let's consider that he may start only when the plane's coordinates are integers). After jumping from the plane, he will fly in the same direction as the plane, parallel to $ Ox $ axis, covering a unit of distance every second. Naturally, he will also descend; thus his second coordinate will decrease by one unit every second.

    There are ascending air flows on certain segments, each such segment is characterized by two numbers $ x_1 $ and $ x_2 $ ( $ x_1 < x_2 $ ) representing its endpoints. No two segments share any common points. When the glider is inside one of such segments, he doesn't descend, so his second coordinate stays the same each second. The glider still flies along $ Ox $ axis, covering one unit of distance every second.

    If the glider jumps out at $ 1 $ , he will stop at $ 10 $ . Otherwise, if he jumps out at $ 2 $ , he will stop at $ 12 $ .Determine the maximum distance along $ Ox $ axis from the point where the glider's flight starts to the point where his flight ends if the glider can choose any integer coordinate to jump from the plane and start his flight. After touching the ground the glider stops altogether, so he cannot glide through an ascending airflow segment if his second coordinate is $ 0 $ .

    输入输出格式

    输入格式:

    The first line contains two integers $ n $ and $ h $ $ (1 \le n \le 2\cdot10^{5}, 1 \le h \le 10^{9}) $ — the number of ascending air flow segments and the altitude at which the plane is flying, respectively.

    Each of the next $ n $ lines contains two integers $ x_{i1} $ and $ x_{i2} $ $ (1 \le x_{i1} < x_{i2} \le 10^{9}) $ — the endpoints of the $ i $ -th ascending air flow segment. No two segments intersect, and they are given in ascending order.

    输出格式:

    Print one integer — the maximum distance along $ Ox $ axis that the glider can fly from the point where he jumps off the plane to the point where he lands if he can start his flight at any integer coordinate.

    输入输出样例

    输入样例#1: 复制
    3 4
    2 5
    7 9
    10 11
    
    输出样例#1: 复制
    10
    
    输入样例#2: 复制
    5 10
    5 7
    11 12
    16 20
    25 26
    30 33
    
    输出样例#2: 复制
    18
    
    输入样例#3: 复制
    1 1000000000
    1 1000000000
    
    输出样例#3: 复制
    1999999999
    

    说明

    In the first example if the glider can jump out at $ (2, 4) $ , then the landing point is $ (12, 0) $ , so the distance is $ 12-2 = 10 $ .

    In the second example the glider can fly from $ (16,10) $ to $ (34,0) $ , and the distance is $ 34-16=18 $ .

    In the third example the glider can fly from $ (-100,1000000000) $ to $ (1999999899,0) $ , so the distance is $ 1999999899-(-100)=1999999999 $ .

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。