AcWing 730. 机器人跳跃问题
原题链接
中等
作者:
霜天红叶
,
2024-03-25 22:15:49
,
所有人可见
,
阅读 2
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 7;
int a[N];
double b[N];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
for (int i = n; i > 0; i--)
{
//公式推导过程:
//if (H[k+1]>E): EE = E - (H[K+1]-E) = 2E - H[K+1];
//else EE = E + (E-H[k+1) = 2E - H[k+1];
//所以,E = (E + H[K+1])/2;
b[i - 1] = (double)(b[i] + a[i]) / 2.0;
}
int ans = ceil(b[0]);//使用ceil()函数,进行向上取证操作
cout << ans << endl;
return 0;
}