代码:
#include <bits/stdc++.h>
using namespace std;
set<long long> s;
set<long long>::iterator k, a;
long long n, x, ans = 0;
int main()
{
s.insert(LONG_LONG_MAX);
s.insert(0);
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (s.size() == 2)
{
ans += x;
s.insert(x);
}
else
{
k = s.lower_bound(x);
if (*k != x)
{
a = k;
a--;
ans += min(abs(*a - x), abs(*k - x));
s.insert(x);
cout << ans << endl;
}
}
}
cout << ans;
return 0;
}
第一组数据中它出错了,其他数据都正常,请问那里出错?如何修改?
数据链接【Link】