2 条题解

  • 0
    @ 2026-9-1 13:31:19
    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n;
        long long sum = 1LL * n * (n + 1) / 2;
        if(sum % 2 != 0)
        {
            cout << "NO" << endl;
            return 0;
        }
        cout << "YES" << endl;
        long long target = sum / 2;
        vector<int> A, B;
        for(int i = n; i >= 1; i--)
        {
            if(target >= i)
            {
                A.push_back(i);
                target -= i;
            }
            else
            {
                B.push_back(i);
            }
        }
        cout << A.size() << endl;
        for(auto v : A) cout << v << " ";
        cout << endl;
        cout << B.size() << endl;
        for(auto v : B) cout << v << " ";
        return 0;
    }
    
    

    信息

    ID
    4621
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    144
    已通过
    49
    上传者