AT_arc028_2.[ARC028B] 特別賞

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

高桥君举办了一场编程竞赛,共有 NN 人参加。他觉得如果没有奖品会有些无聊,于是决定给“在第 ii 名及以上的选手中,第 KK 年轻的人”颁发特别奖。所有参赛者的年龄信息已知。KK 的值已经确定,但 ii 的值还未决定。为了决定 ii 的值,高桥君想要计算对于每一个 K≤i≤NK \leq i \leq N 的整数 ii,谁能获得特别奖。

已知所有参赛者的年龄。对于每一个 KK 到 NN 的 ii,请计算“在第 ii 名及以上的选手中,第 KK 年轻的人”是第几名。

输入格式

输入以如下格式从标准输入读入。

NN KK X1X_1 X2X_2 ... XNX_N

  • 第 11 行包含两个用空格分隔的整数 N (1≤N≤100,000)N\ (1 \leq N \leq 100,000) 和 K (1≤K≤N)K\ (1 \leq K \leq N),分别表示参赛人数和 KK 的值。
  • 第 22 行包含 NN 个用空格分隔的整数,表示参赛者的年龄信息。其中第 ii 个整数 Xi (1≤Xi≤N)X_i\ (1 \leq X_i \leq N) 表示排名第 ii 的参赛者是所有参赛者中第 XiX_i 年轻的人。保证对于 p≠qp \neq q,有 Xp≠XqX_p \neq X_q。

输出格式

输出 N−K+1N-K+1 行。第 ii 行输出一个整数,表示“在第 i+K−1i+K-1 名及以上的选手中,第 KK 年轻的人”的名次。

输入输出样例

  • 输入#1

    5 2
    4 5 3 1 2

    输出#1

    2
    1
    3
    5
  • 输入#2

    3 1
    2 3 1

    输出#2

    1
    1
    3

说明/提示

部分分

本题设有部分分。

  • 若能正确解决所有 N≤1000N \leq 1000 的测试点,可获得 4040 分。

样例解释 1

以下是每一行输出的说明。

  • 第 11 行:在第 22 名及以上的选手中,第 22 年轻的人是第 22 名的选手。
  • 第 22 行:在第 33 名及以上的选手中,第 22 年轻的人是第 11 名的选手。
  • 第 33 行:在第 44 名及以上的选手中,第 22 年轻的人是第 33 名的选手。
  • 第 44 行:在第 55 名及以上的选手中,第 22 年轻的人是第 55 名的选手。

由 ChatGPT 4.1 翻译

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

首页