A. Dense Array
题解:t组数据 每组数据判断 不满足则添加数字,直到满足条件为止,输出 添加数字的个数。
满足以下 公式:
代码:
#include<iostream>
#include<cmath>
using namespace std;
int a[51];
int main()
{
cin.tie(nullptr)->sync_with_stdio(false);
int m; cin >> m;
while (m--)
{
int n; cin >> n;
cin >> a[1];
int cnt = 0;
for (int i = 2; i <= n; i++)
{
int x = 0; cin >> x;
if (max(a[i - 1], x) <= min(x, a[i - 1]))a[i] = x;
else
{
double t = a[i-1];
if(t<x)
while (t * 2 < x)
{
cnt++;
t *= 2;
}
else
while (ceil(t / 2) > x)
{
cnt++;
t = ceil(t / 2);
}
}
a[i] = x;
}
cout << cnt << endl;
}
return 0;
}