萌新求助
查看原帖
萌新求助
265442
q1950437953楼主2020/8/5 23:08
#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

2020/8/5 23:08
加载中...