STL 第一个点 WA,求助
查看原帖
STL 第一个点 WA,求助
1366636
johnCh楼主2024/8/9 15:04

代码:

#include <bits/stdc++.h>
using namespace std;
// 这题 STL 就可以切掉
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】

2024/8/9 15:04
加载中...