传统题 1000ms 256MiB

翻倍

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

给定 nn 个正整数 A1,A2,,AnA_1, A_2, \ldots, A_n,每次操作可以选择任意一个数翻倍。

请输出让序列单调不下降,也就是每个数都不小于上一个数,最少需要操作多少次?

输入格式

输入的第一行包含一个正整数 nn

第二行包含 nn 个正整数 A1,A2,,AnA_1, A_2, \ldots, A_n

输出格式

输出一个整数表示需要的最小操作次数。

6
4 3 2 1 7 9
8

解释 #1

可以将序列变为: 4,6,8,8,14,184, 6, 8, 8, 14, 18,总计需要 0+1+2+3+1+1=80 + 1 + 2 + 3 + 1 + 1 = 8 次操作。

数据范围

对于 20% 的评测用例,n10,Ai100n \leq 10, A_i \leq 100

对于 50% 的评测用例,n5000,Ai<232n \leq 5000, A_i < 2^{32},保证存在操作可以在所有 AiA_i 小于 2322^{32} 的情况下满足题目要求。

对于 100% 的评测用例,1n2×105,1Ai<2321 \leq n \leq 2 \times 10^5, 1 \leq A_i < 2^{32}

第十六届蓝桥杯大赛软件赛决赛 C/C++ 大学 B 组

未参加
状态
已结束
规则
OI
题目
10
开始于
2025-6-15 9:00
结束于
2025-6-15 13:00
持续时间
4 小时
主持人
参赛人数
0