#P1557. 2023.06.14-暑期实习-第1题-AI编程题

2023.06.14-暑期实习-第1题-AI编程题

题目内容

塔子哥是一个不那么严谨的经验主义者,他在使用Stable Diffusion“图生图”功能来画好康的图片时总想要选出上一轮最好看的那几张图片作为下一次“图生图”绘画的参考。

更一般的,“图生图”功能绘画的结果是若干张好康的图片,按照生成的先后顺序由1开始向后编号;同时,塔子哥在心里给它们打了一个分数(不同图片分数可能相同),由于AI绘图实在是不稳定,塔子哥决定删掉分数不大于20分的图片;随后塔子哥会根据他阅图无数的经验得到一个经验值,然后选择图片分数排名等于该经验值的图片作为下一次“图生图”绘画的参考。(注意,这里排名采用dense_rank的方式,即分数从大到小排序,相同分数排名相同)。如果不存在排名恰好经验值的,按最大的排名。

塔子哥希望你帮他找出可以作为“图生图”绘画参考的图片,以便于设置绘图的其他参数。

解答要求

时间限制: C/C++ 1000ms,其他语言: 2000ms 内存限制:C/C++256MB,其他语言:512MB

输入

第一行输入为“图生图”绘制的结果中图片的张数SS

第二行输入为塔子哥自认为的经验值YY:

第三行输入为塔子哥给所有图片的评分,评分值以空格分隔。

  • 1Y未被删除的图片数量图片总数104\leq Y \leq 未被删除的图片数量 \leq 图片总数 \leq 10^4:
  • 0评分分值1000\leq 评分分值 \leq 100

输出

排序最靠后的那些图片的分数和编号以空格分隔。

样例

输入

1
5 
98

输出

98 1

解释

塔子哥的经验值Y=5Y=5,所有图片按照评分编号为11的图片被保留,分数为9898。因此排序最靠后的那张图片的评分为排位第11、编号为1的入围作品,但是很显然这就是排序最靠后那张图片,那么输出 9898 11

样例2

输入

14
1
11 45 14 19 19 81 0 11 45 14 19 19 81 0

输出

81 6 13

解释

被保留的图片编号分别为2266991313。按分数排序后为:

81(6) 81(13) 45(2) 45(9)

他们的排名为:

1 1 2 2

y = 1 ,则取rank = 1的输出,81 6 13

样例3

输入

14
2
11 45 14 19 19 81 0 11 45 14 19 19 81 0

输出

45 2 9