AT_agc046_e.[AGC046E] Permutation Cover

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

给定整数 KK 和整数 a1,…,aKa_1,\dots,a_K。请判断是否存在满足以下条件的数列 PP,如果存在,请输出字典序最小的一个。

  • PP 的所有项均为 11 到 KK 之间的整数;
  • 对于每个 i=1,…,Ki=1,\dots,K,PP 中恰好包含 aia_i 个 ii;
  • 对于 PP 的每一项,存在一个包含该项的长度为 KK 的连续子序列,该子序列是 1,…,K1,\dots,K 的一个排列。

输入格式

输入通过标准输入按以下格式给出。

KK a1a_1 a2a_2 …\dots aKa_K

输出格式

如果不存在满足条件的数列,输出 -1。否则,输出满足条件的字典序最小的数列。

输入输出样例

  • 输入#1

    3
    2 4 3

    输出#1

    2 1 3 2 2 3 1 2 3
  • 输入#2

    4
    3 2 3 2

    输出#2

    1 2 3 4 1 3 1 2 4 3
  • 输入#3

    5
    3 1 4 1 5

    输出#3

    -1

说明/提示

限制条件

  • 1≤K≤1001 \leq K \leq 100
  • 1≤ai≤1000(1≤i≤K)1 \leq a_i \leq 1000\quad (1\leq i\leq K)
  • a1+⋯+aK≤1000a_1 + \dots + a_K \leq 1000
  • 所有输入均为整数

样例解释 1

例如,第 55 项的 22,包含在由第 5,6,75,6,7 项组成的子序列 (2,3,1)(2,3,1) 中。

由 ChatGPT 4.1 翻译

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

首页