成就展示柜

题海·凌浪 题海·凌浪
足迹·征途 足迹·征途
罐藏·满库 罐藏·满库
我宣布个事 我宣布个事
  • 个人简介

    地球上天空下我们做一对傻瓜 你我生来时就注定天真而伟大 ——《蝴蝶》

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios:sync_with_stdio(false);
        cin.tie(nullptr);
    
        int n, d;
        if (!(cin >> n >> d)) return 0;
    
        vector<pair<int, int>> a(n);
        for (int i = 0; i < n; ++i) {
            cin >> a[i].first >> a[i].second;
        }
    
        sort(a.begin(), a.end());
    
        vector<int> qmax(n), qmin(n);
        int hmax = 0, tmax = 0;
        int hmin = 0, tmin = 0;
    
        int l = 0;
        int ans = INT_MAX;
    
        for (int r = 0; r < n; ++r) {
            int y = a[r].second;
    
            // 维护最大值单调队列
            while (tmax > hmax && a[qmax[tmax - 1]].second <= y) --tmax;
            qmax[tmax++] = r;
    
            // 维护最小值单调队列
            while (tmin > hmin && a[qmin[tmin - 1]].second >= y) --tmin;
            qmin[tmin++] = r;
    
            // 当前区间内最早和最晚到达时间差 >= d
            while (hmax < tmax && hmin < tmin &&
                   a[qmax[hmax]].second - a[qmin[hmin]].second >= d) {
    
                ans = min(ans, a[r].first - a[l].first);
    
                // 左端点移出窗口
                if (hmax < tmax && qmax[hmax] == l) ++hmax;
                if (hmin < tmin && qmin[hmin] == l) ++hmin;
                ++l;
            }
        }
    
        cout << (ans == INT_MAX ? -1 : ans) << '\n';
        return 0;
    }
    
  • 喵喵

    你还没有关注该用户,无法查看其信息。

  • 成就(31)

    • 我宣布个事 我宣布个事 全体目光向我看齐
    • 人生第一次喜+1 人生第一次喜+1 One-Stop Shopper
    • 题海·初帆 题海·初帆 通过 1 道题号不同的题目。
    • 题海·试帆 题海·试帆 通过 2 道题号不同的题目。
    • 题海·扬帆 题海·扬帆 通过 4 道题号不同的题目。
    • 题海·云帆 题海·云帆 通过 8 道题号不同的题目。
    • 题海·逐浪 题海·逐浪 通过 16 道题号不同的题目。
    • 题海·踏浪 题海·踏浪 通过 32 道题号不同的题目。
    • 题海·破浪 题海·破浪 通过 64 道题号不同的题目。
    • 题海·凌浪 题海·凌浪 通过 128 道题号不同的题目。
    • 长明·火种 长明·火种 连续登录 1 天。
    • 长明·微火 长明·微火 连续登录 2 天。
    • 长明·灯火 长明·灯火 连续登录 4 天。
    • 长明·炬火 长明·炬火 连续登录 8 天。
    • 足迹·初步 足迹·初步 累计登录 1 天。
    • 足迹·起步 足迹·起步 累计登录 2 天。
    • 足迹·迈步 足迹·迈步 累计登录 4 天。
    • 足迹·阔步 足迹·阔步 累计登录 8 天。
    • 足迹·旅途 足迹·旅途 累计登录 16 天。
    • 足迹·远途 足迹·远途 累计登录 32 天。
    • 足迹·长途 足迹·长途 累计登录 64 天。
    • 足迹·征途 足迹·征途 累计登录 128 天。
    • 粮仓·初囤 粮仓·初囤 猫粮余额曾达到 1 kg。
    • 粮仓·小囤 粮仓·小囤 猫粮余额曾达到 2 kg。
    • 罐藏·初罐 罐藏·初罐 猫罐头持有量达到 1 个。
    • 罐藏·双罐 罐藏·双罐 猫罐头持有量达到 2 个。
    • 罐藏·四罐 罐藏·四罐 猫罐头持有量达到 4 个。
    • 罐藏·满罐 罐藏·满罐 猫罐头持有量达到 8 个。
    • 罐藏·入库 罐藏·入库 猫罐头持有量达到 16 个。
    • 罐藏·小库 罐藏·小库 猫罐头持有量达到 32 个。
    • 罐藏·满库 罐藏·满库 猫罐头持有量达到 64 个。
  • 最近活动

  • 通过的题目

TA 的小猫

小猫正在看看四周……

猫粮 640 g
猫罐头 24 个
🗺️ 猫猫广场

题目标签

语法周赛
9
AtCoder
7
R39
5
题型测试
4
R38
4
贪心
3
排序
3
T1
3
T2
2
T3
2
T4
2
模拟
2
其他
1
搜索
1
状压
1
01bfs
1
环境测试
1
字符串
1
数据结构
1
堆(优先队列)
1