快轉到主要內容

CSES-1092 Two Sets

目錄

題目連結:https://cses.fi/problemset/task/1092

題意
#

(待補)

思路
#

(待補)

程式碼
#

#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define fi first
#define se second
#define INF LONG_LONG_MAX/1000
#define WA() cin.tie(0)->sync_with_stdio(0)
#define all(x) (x).begin(), (x).end()
#define int long long
#define PII pair<int, int>

signed main() { WA();
    int n;
    cin >> n;
    if ((n*(n+1)/2) & 1) cout << "NO\n";
    else {
        vector<int> a, b;
        int sum = 0;
        for (int i = n; i > 0; i--) {
            if (sum + i <= n*(n+1)/2/2) sum += i, a.pb(i);
            else b.pb(i);
        }
        cout << "YES\n" << sz(a) << '\n';
        for (auto i : a) cout << i << ' ';
        cout << '\n' << sz(b) << '\n';
        for (auto i : b) cout << i << ' ';
        cout << '\n';
    }
}
Piau 的筆記本
作者
Piau 的筆記本
希望我寫下來的東西能夠長久的記在我的腦中