CF1949E.Damage per Second

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

你刚刚在你最喜欢的角色扮演游戏中创建了一个新角色,现在需要决定如何分配技能点。

你需要选择的两个技能属性是:每击伤害和每秒攻击次数。每击伤害表示你每次攻击造成的伤害值,每秒攻击次数表示你每秒可以攻击的次数。初始时,这两个技能属性都为 00。你有 kk 个技能点可以自由分配;换句话说,你可以选择这两个技能的值,使它们都是正整数且它们的和不超过 kk。

游戏的教程(你想尽快完成的无聊部分)包含 nn 个怪物,需要依次击杀。第 ii 个怪物有 hih_i 点生命值,也就是说,你对它造成的总伤害至少达到 hih_i 时,它就会死亡。

你应该如何分配这两个技能属性,才能最小化击杀所有 nn 个怪物所需的总时间?

输入格式

第一行包含两个整数 nn 和 kk(1≤n≤200 0001\leq n\leq 200\,000,2≤k≤200 0002\leq k\leq 200\,000)——敌人的数量和可分配的技能点数。

第二行包含 nn 个整数 hih_i(1≤hi≤10131\leq h_i\leq 10^{13})——第 ii 个敌人的生命值。

输出格式

输出两个正整数 xx 和 yy(1≤x,y1\le x, y 且 x+y≤kx+y\le k)——你想分配到每击伤害和每秒攻击次数上的技能点数。如果有多组最优解,输出任意一组均可。

输入输出样例

  • 输入#1

    1 7
    14

    输出#1

    3 4
  • 输入#2

    4 9
    1 2 3 4

    输出#2

    4 5
  • 输入#3

    5 13
    3 4 5 6 7

    输出#3

    7 6

说明/提示

在第一个样例中,只有一个怪物,你有 77 个技能点可以分配。如果你将 33 点分配给每击伤害,则需要 55 次攻击才能击杀它。如果你将 44 点分配给每秒攻击次数,则需要 1.251.25 秒来击杀怪物。没有办法比这更快地击杀怪物了。

在第二个样例中,你可以对每个怪物只需攻击一次,总共只需 0.80.8 秒。如果你将 44 点分配给每击伤害,剩下的 55 点分配给每秒攻击次数即可。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页