2025.10.20 F题

首先理解题目:

思路:

代码实现:

代码实现如下:

#include<stdio.h>
// 主函数
int main(){
    long long n;  // 悬崖高度n
    long long l1 = 0;  // 记录前一个高度的最小值(初始为0,对应悬崖底)
    long long ans = -1;  // 存储最大危险值,也就是最终答案(初始设为一个尽可能小的值)
    long long r, l;  // 临时存储当前高度的l_i和r_i
    // 读入n
    scanf("%lld", &n);

    // 循环处理每个高度
    while(n--){
        // 读入当前高度的l_i和r_i
        scanf("%lld %lld", &l, &r);
        // 计算当前可能的最大差(当前r - 前一个l),更新ans
        if(ans < r - l1){
            ans = r - l1;
        }
        // 更新前一个高度的最小值为当前的l_i
        l1 = l;
    }

    // 输出最大危险值
    printf("%lld", ans);
    return 0;
}