AT_tupc2023_i.Maximize Array

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的正整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),以及一个正整数 KK。你可以对 AA 进行如下操作任意次:

  • 删除 AA 的一个长度为 KK 的连续子序列。具体来说,设当前 AA 的长度为 MM,你可以选择一个整数 i (1≤i≤M−K+1)i\ (1\leq i\leq M-K+1),并将 A=(A1,…,AM)A=(A_1,\ldots,A_M) 替换为 A=(A1,…,Ai−1,Ai+K,…,AM)A=(A_1,\ldots,A_{i-1},A_{i+K},\ldots,A_{M})。

请问,经过若干次操作后,能得到的字典序最大的序列是什么?

输入格式

输入从标准输入中给出,格式如下:

NN KK A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出答案。

输入输出样例

  • 输入#1

    9 3
    1 2 3 4 1 2 3 4 1

    输出#1

    4 4 1
  • 输入#2

    6 1
    1 6 4 2 3 5

    输出#2

    6 5
  • 输入#3

    6 5
    6 5 4 3 2 1

    输出#3

    6 5 4 3 2 1

说明/提示

样例解释 1

得到字典序最大序列的一个操作步骤如下:

  • (1,2,3,4,1,2,3,4,1)→(1,2,3,4,4,1)→(4,4,1)(1,2,3,4,\color{red}{1}\color{black},\color{red}{2}\color{black},\color{red}{3}\color{black},4,1)\to(\color{red}{1}\color{black},\color{red}{2}\color{black},\color{red}{3}\color{black},4,4,1) \to (4,4,1)

样例解释 2

得到字典序最大序列的一个操作步骤如下:

  • (1,6,4,2,3,5)→(1,6,4,3,5)→(1,6,3,5)→(6,3,5)→(6,5)(1,6,4,\color{red}{2}\color{black},3,5)\to(1,6,\color{red}{4}\color{black},3,5) \to (\color{red}{1}\color{black},6,3,5) \to (6,\color{red}{3}\color{black},5) \to (6,5)

样例解释 3

一次操作也不做是最优的。

数据范围

  • 2≤N≤3×1052\leq N\leq 3\times 10^5
  • 1≤K≤N−11\leq K\leq N-1
  • 1≤Ai≤N1\leq A_{i}\leq N
  • 输入均为整数。

由 ChatGPT 5 翻译

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

首页