#include<iostream>
using namespace std;
int const MAX_LENGTH = 100001;
int n, d[MAX_LENGTH];
long long sum;
int main()
{
cin >> n;
for (int i = 0; i < n; i++)
cin >> d[i];
for (int i = 0; i < n - 1; i++)
if (d[i] > d[i + 1])
sum += d[i] - d[i + 1];
else if (d[i] < d[i + 1])
{
sum += d[i];
for (int k = d[i]; k > 0; k--)
for (int j = i + 1; d[j] > 0; j++)
d[j] --;
}
sum += d[n - 1];
cout << sum;
return 0;
}
洛谷P5019 [NOIP2018 提高组] 铺设道路进阶解法
最新推荐文章于 2024-07-30 00:30:55 发布
524

被折叠的 条评论
为什么被折叠?



