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 video solution AI分析

思路分析

我们希望 尽可能快地让 a1a_1a1​ 成为最大值。直觉上,每次应该从当前最大的 aia_iai​ (i≥2i \ge 2i≥2)转移值到 a1a_1a1​,这样 a1a_1a1​ 增长最快,其他元素尽快下降。

因此可以:

  1. 将 a2,…,ana_2, \dots, a_na2​,…,an​ 放入一个最大堆(优先队列)。
  2. 每次取堆顶最大值 mmm(对应某个 aja_jaj​)。
  3. 计算 x=⌊m/2⌋x = \lfloor m/2 \rfloorx=⌊m/2⌋,执行转移操作。

P3476.第1题-你的一半归我了

    1000ms Tried: 163 Accepted: 62 Difficulty: 2 所属公司 : 滴滴
    算法与标签>贪心算法

题目内容

给定正整数 nnn 和一个大小为 nnn 的数组。小种可以对这个数组执行若干次以下操作:选择一个下标 iii 令 x=[ai2]x=[\frac{a_i}{2}]x=[2ai​​] (即向下取整),令a1=a1+x,ai=ai−xa_1=a_1+x,a_i=a_i-xa1​=a1​+x,ai​=ai​−x 。

小钟需要求出最少的操作次数使得 aia_iai​ 成为数组中最大的元素,即对于任意的 i(2<=i<=n)i(2 <=i<=n)i(2<=i<=n) 满足 ai<a1a_i<a_1ai​<a1​ 。题目保证给定数据一定存在答案。

请你计算出最少的操作次数是多少。

输入描述

输入包括多组测试数据。

输入第一行包括一个正整数 T(1<=T<=100)T(1<=T<=100)T(1<=T<=100) ,表示测试数据的组数。

每组测试数据的第一行有一个整数 n(1<=n<=105)n(1 <=n<=10^5)n(1<=n<=105) ,表示数组的大小;

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

保证每个测试点的所有测试数据的 nnn 的和不超过 2∗1052*10^52∗105 。

输出描述

对于每组测试数据,输出一个正整数表示使得 aia_iai​,成为最大元素的最少的操作次数。

样例1

输入

2
3
2 4 5
2
3 2

输出

2
0

说明

对于第一组测试数据,可以选择下标333,数组变为[4,4,3][4,4,3][4,4,3],然后选择下标222,数组变为[6,2,3][6,2,3][6,2,3],此时a1a_1a1​是数组中最大的元素,操作次数为222。可以证明不存在更少的操作次数使得a1a_1a1​成为最大的元素。

对于第二组测试数据,由于a1a_1a1​本来就已经是最大元素,故不需要进行任何操作。

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

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


ScanQRCodePrompt

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

Forgot password or username?