1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

先把题意转化一下。

你需要选一个整数位置 xxx,要求它不能落在任何一个人的禁区 [li,ri][l_i, r_i][li​,ri​] 中,也就是 xxx 不能被这些区间的并集覆盖。同时要让你走的距离 ∣x−p∣|x-p|∣x−p∣ 最小。

所以问题本质上就是:

给定若干个区间,求离 ppp 最近的、不在这些区间并集内 的整数点。

P4806.第2题-最短就餐距离

    1000ms Tried: 96 Accepted: 38 Difficulty: 5 所属公司 : 阿里
    算法与标签>排序算法

题目内容

在一条无限长的美食街上,每个整数坐标处都有一家餐厅。你当前位于位置 ppp。

现在共有n n n个人(包括你自己),第i ii 个人不愿意去区间[li,ri] [l_i,r_i] [li​,ri​]内的任何餐厅。你需要选择一个餐厅位置x∈Z x∈Zx∈Z,使得对所有人都 “可接受”(即x∉[li,ri] x\notin [l_i,r_i] x∈/[li​,ri​]对所有 ii i成立),并且使你走的距离∣x−p∣ ∣x−p∣∣x−p∣ 最小。请输出这个最小距离。

输入描述

每个测试文件均包含多组测试数据:第一行输入一个整数T(1≤T≤2×105) T(1≤T≤2×10^5)T(1≤T≤2×105),代表数据组数。每组测试数据描述如下:

  • 每组数据第一行输入两个整数 n,p(1≤n≤2×105,−106≤p≤106)n,p(1≤n≤2×10^5,−10^6≤p≤10^6)n,p(1≤n≤2×105,−106≤p≤106);
  • 接下来 nnn 行,每行输入两个整数 li,ri(−106≤li≤ri≤106)l_i,r_i(−10^6≤l_i≤r_i≤10^6)li​,ri​(−106≤li​≤ri​≤106)。

保证所有测试中 nn n的总和不超过 5×1055×10^55×105。

输出描述

输出T T T行,每行输出一个整数,为最小距离。

样例1

输入

3
2 5
1 3
7 8
1 10
10 20
3 0
-2 1
2 4
6 9

输出

0
1
3

说明

  • 样例1 11:禁用区间为[1,3]∪[7,8] [1,3]∪[7,8][1,3]∪[7,8],位置p=5 p=5 p=5可直接就餐,距离为0 00。
  • 样例 222:最近不在禁区内的餐厅位置是9 99,距离为∣9−10∣=1 ∣9−10∣=1∣9−10∣=1。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 42ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?