結果
問題 | No.2027 (1, 2, 3, …, N) 's Subset Sum |
ユーザー |
![]() |
提出日時 | 2022-08-05 21:42:03 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 21 ms / 2,000 ms |
コード長 | 1,811 bytes |
コンパイル時間 | 2,088 ms |
コンパイル使用メモリ | 198,312 KB |
最終ジャッジ日時 | 2025-01-30 17:52:07 |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 25 |
ソースコード
#define LOCAL#include <bits/stdc++.h>using namespace std;using ll = long long;const int mod = 1e9 + 7;#define mem(a, b) memset(a, b, sizeof(a))#define REP(i, a) for (int i = 0; i < a; ++i)#define FOR(i, a, b) for (int i = a; i < b; ++i)#define ALL(a) a.begin(), a.end()inline void quickread() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);cout << fixed << setprecision(10);}inline void print_vector(vector<int> &A){for (auto&& x : A){cout << x << " ";}cout << endl;}inline void print_vector(vector<ll> &A){for (auto&& x : A){cout << x << " ";}cout << endl;}inline void print_array(const int A[], int n) {REP(i, n) {if (i < n - 1) {cout << A[i] << " ";} else {cout << A[i] << endl;}}}#ifdef LOCAL#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)#else#define trace(...) 42#endiftemplate <typename Arg1>void __f(const char* name, Arg1&& arg1){cerr << name << ": " << arg1 << endl;}template <typename Arg1, typename... Args>void __f(const char* names, Arg1&& arg1, Args&&... args){const char* comma = strchr(names + 1, ',');cerr.write(names, comma - names) << ": " << arg1 << " |";__f(comma + 1, args...);}inline void solve() {ll n, s;cin >> n >> s;vector<ll> res;ll cur = n;while (true) {if (s > cur) {res.push_back(cur);s -= cur;cur--;} else {res.push_back(s);break;}}sort(ALL(res));cout << (int)res.size() << endl;print_vector(res);}int main() {quickread();int t = 1;// cin >> t;for (int _ = 0; _ < t; _++) {solve();}return 0;}