#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
long long *data = new long long(n);
int i = 0;
while (i < n)
cin >> *(data + i++);
int sum = *data;
for (i = 1; i < n; i++)
{
int l = 0, r = i - 1;
if (*(data + i) >= *(data + i - 1))
{
sum += *(data + i) - *(data + i - 1);
continue;
}
while (l < r)
{
if (*(data + (l + r) / 2) < *(data + i))
l = (l + r) / 2 + 1;
else
r = (l + r) / 2;
}
int j = l;
int temp = *(data + i);
while (j < i)
*(data + j + 1) = *(data + j), j++;
*(data + l) = temp;
if (l == 0)
{
sum += *(data + 1) - *data;
continue;
}
sum += (*(data + l) - *(data + l - 1)) < (*(data + l + 1) - *(data + l)) ? (*(data + l) - *(data + l - 1)) : (*(data + l + 1) - *(data + l));
}
cout << sum;
return 0;
}
为什么会出现runtimeerror,明明在自己电脑上运行得很好qwq