AT_utpc2013_04.壊れかけのヒープ
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
也就是说,给定输入 A0...AN−1,请你求出满足以下条件的数组 H0...HM−1,并输出其长度 M 作为答案。
- 所有 Hi 都是大于等于 0 的整数。
- 数组中的元素互不相同。也就是说,如果 i=j,则 Hi=Hj。
- 该数组表示一个二叉堆。也就是说,始终有 Hi<H2i+1 且 Hi<H2i+2。
- A 是 H 的后缀。也就是说,对于所有 0≤k<N,都有 Ak=HM−N+k。
如果有多种可能,请输出最小的 M。如果不存在满足条件的 H,请输出 −1。
输入格式
输入按以下格式给出。
N A0 A1⋯AN−1
输出格式
请将问题的解输出为一行。
输入输出样例
输入#1
3 4 2 3
输出#1
5
输入#2
3 3 1 2
输出#2
-1
输入#3
4 10 20 40 30
输出#3
4
输入#4
4 9 2 3 6
输出#4
8
说明/提示
输入中的各个变量满足以下约束条件。
- 1≤N≤100
- 0≤Ai≤109
- Ai 是互不相同的非负整数。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?