CF521D.Shop

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

Vasya 玩一款非常著名且极受欢迎的 MMORPG 游戏。他的游戏角色拥有 kk 项技能,目前第 ii 项技能的数值为 aia_{i}。在游戏中,有一个通用的排名表,参与者根据所有技能的乘积进行降序排名。

Vasya 决定通过游戏商店“升级”他的角色。该商店提供了 nn 种可用的提升方式;每种提升方式属于以下三类之一:

  1. 将第 ii 项技能赋值为 bb;
  2. 给第 ii 项技能增加 bb;
  3. 将第 ii 项技能乘以 bb。

遗憾的是:(a)每种提升只能使用一次;(b)Vasya 卡里的钱只够最多购买 mm 个提升。请帮助 Vasya 获取最高排名。具体来说,请告诉 Vasya 应该购买哪些提升,以及应用这些提升的顺序,使得最终他的评级最大。如果有多种方案都能取得最大排名,输出任意一种即可。

输入格式

第一行包含三个整数 k,n,mk,n,m(1≤k≤1051 \leq k \leq 10^{5},0≤m≤n≤1050 \leq m \leq n \leq 10^{5})——技能数、可出售的提升数量,以及 Vasya 能负担的最大提升数。

第二行包含 kk 个以空格分隔的整数 aia_{i}(1≤ai≤1061 \leq a_{i} \leq 10^{6}),表示各项技能的初始数值。

接下来 nn 行,每行包含三个以空格分隔的整数 tj,ij,bjt_{j},i_{j},b_{j}(1≤tj≤3,1≤ij≤k,1≤bj≤1061 \leq t_{j} \leq 3, 1 \leq i_{j} \leq k, 1 \leq b_{j} \leq 10^{6})——表示第 jj 个提升的类型(1 代表赋值,2 代表加法,3 代表乘法)、对应的技能编号及该次提升的参数 bb。提升按输入顺序从 11 开始编号。

输出格式

第一行输出一个整数 ll(0≤l≤m0 \leq l \leq m)——应使用的提升数量。

第二行输出 ll 个不同的空格分隔的正整数 viv_{i}(1≤vi≤n1 \leq v_{i} \leq n)——所选用提升的编号,按应被依次应用的顺序输出。提升编号按输入从 11 开始。

输入输出样例

  • 输入#1

    2 4 3
    13 20
    1 1 14
    1 2 30
    2 1 6
    3 2 2
    

    输出#1

    3
    2 3 4
    

说明/提示

由 ChatGPT 5 翻译

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

首页