CF2087G.Esports in Berland

通过率:0%

AC君温馨提醒

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

题目描述

最近,电子竞技在 Berland 被正式认可为一项体育运动,并且开始定期举办比赛。借着这股热潮,Monocarp 也决定参加即将到来的比赛(毕竟奖金从来不会嫌多)。

在接下来的 nn 天里,每天都会举行一场比赛。Monocarp 想要参加所有比赛,但遗憾的是,他当前的技能水平 ss 为 00。与此同时,Monocarp 在比赛中能获得的奖金取决于他的技能水平。因此,Monocarp 决定可以牺牲参加部分比赛的机会,在这些天里进行训练以提升自己的技能水平。

具体来说,在第 ii 天,Monocarp 可以:

  • 参加第 ii 场比赛,获得 ai+sa_i + s 单位的奖金,其中 ss 是他当前的技能水平;
  • 或者跳过这场比赛进行训练:Monocarp 不会获得任何奖金,但他的技能水平 ss 会增加 11。

请帮助 Monocarp 计算他在最优训练计划下能够获得的最大总收入,以及达到该收入的训练方案数。若存在某一天在一个方案中是训练日、在另一个方案中是比赛日,则这两个训练计划被认为是不同的。

输入格式

第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5),表示将要举行比赛的天数。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(0≤ai≤1060 \le a_i \le 10^6),表示 Monocarp 期望获得的每场比赛的基础奖金。

输出格式

输出两个整数,分别表示 Monocarp 能够获得的最大总收入,以及达到该收入的训练方案数。

由于方案数可能过大,请输出对 998 244 353998\,244\,353 取模后的结果。

输入输出样例

  • 输入#1

    1
    0

    输出#1

    0 2
  • 输入#2

    1
    42

    输出#2

    42 1
  • 输入#3

    5
    0 0 0 0 0

    输出#3

    6 2
  • 输入#4

    6
    5 4 3 2 1 0

    输出#4

    15 7
  • 输入#5

    10
    5 9 0 3 2 0 2 2 9 9

    输出#5

    53 3

说明/提示

在第一个样例中,Monocarp 可以选择参加或跳过比赛——无论哪种情况,他都能获得 00 单位的奖金。

在第二个样例中,最优方案是直接参加比赛。

在第三个样例中,有两种训练方案。Monocarp 可以:

  1. 前两天训练,剩下的天数参加比赛:Monocarp 将获得 3⋅(0+2)=63 \cdot (0 + 2) = 6 单位的奖金;
  2. 前三天都训练:Monocarp 将获得 2⋅(0+3)=62 \cdot (0 + 3) = 6 单位的奖金。

在第四个样例中,Monocarp 可以选择全部参加比赛,或者跳过任意一天。

由 ChatGPT 4.1 翻译

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

首页