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分析

题解思路

关键观察

只能“加”,不能“减”。因此想要让相邻差变小,只能把较小的那个数往上抬。

把答案(相邻差最大值)记为 X,考虑判定问题:

是否能用不超过 k 次加一操作,使得最终数组 b 满足

P3677.第1题-最小相邻差

    1000ms Tried: 207 Accepted: 40 Difficulty: 6 所属公司 : 京东
    算法与标签>二分算法

题目内容

小红有一个长度为 nnn 的数组 aaa 。

小红可以对数组执行最多 kkk 次如下操作:

指定数组中的某个元素 ai(1≤i≤n)a_i(1≤i≤n)ai​(1≤i≤n) ,令 ai=ai+1a_i=a_i+1ai​=ai​+1 。对于同一个位置的元素可以多次进行操作。

小红想要最小化数组中相邻元素差的绝对值的最大值,请你帮助他计算。

输入描述

输入包括多组测试数据。

输入第一行有一个正整数 T(1≤T≤100)T(1≤T≤100)T(1≤T≤100) ,表示测试数据的组数。

对于每组测试数据:

第一行有两个正整数 n(2≤n≤105)n(2≤n≤10^5)n(2≤n≤105) ,k(0≤k≤109)k(0≤k≤10^9)k(0≤k≤109) ,分别表示数组的长度、操作最多可以执行多少次。

接下来的一行有 nnn 个整数 a1,a2,…,an(1≤ai≤109)a_1,a_2,…,a_n(1≤a_i≤10^9)a1​,a2​,…,an​(1≤ai​≤109) ,表示题目给定的数组。

输出描述

对于每组测试数据,输出一个正整数,表示经过操作后数组中相邻元素差的绝对值的最大值最小是多少。

样例1

输入

1
5 3
3 1 5 4 1

输出

2

说明

其中一种可行的操作为:对第二个元素执行两次操作,对第五个元素执行一次操作,得到新数组 [3[3[3 333 555 444 2]2]2],相邻元素差的绝对值的最大值为 222 ,此时最小。

登录后即可使用 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 2, 33ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?