CF624B.Making a String

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Making a String

题目描述

给定一个包含 nn 个字母的字母表,你的任务是构造一个满足以下条件的最长字符串:

  • ii 个字母在字符串中出现的次数不超过 aia_{i}
  • 字符串中,每个出现过的字母,其出现次数都互不相同。

输入格式

第一行输入一个整数 nn2n262 \leq n \leq 26),表示字母表的字母数量。

第二行输入 nn 个整数 aia_{i}1ai1091 \leq a_{i} \leq 10^{9}),第 ii 个整数表示第 ii 个字母在字符串中出现次数的上限。

输出格式

输出一个整数,表示满足所有要求的字符串的最大长度。

说明/提示

为了方便说明,假设字母表只包含三个字母:"a"、"b"、"c"。在第一个样例中,一些最优的字符串为:"cccaabbccbb"、"aabcbcbcbcb"。在第二个样例中,一些最优字符串为:"acc"、"cbc"。

由 ChatGPT 5 翻译

样例

3
2 5 5
11
3
1 1 2
3

在线编程 IDE

建议全屏模式获得最佳体验