CSES - HIIT Open 2024 - Results
Submission details
Task:Conspiracies everywhere
Sender:asdf4321
Submission time:2024-11-16 12:37:40 +0200
Language:C++ (C++17)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails

Code

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

#define int long long
#define rep(i, a, b) for (int i = a; i < (b); i++)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

signed main() {
#ifdef LOCAL
freopen(".inp", "r", stdin);
freopen(".out", "w", stdout);
#endif

    int n, q;
    cin >> n >> q;

    int mn = 1LL << (n - 1);
    // cerr << mn << '\n';
    if (q < mn) {
        cout << "The truth is out there";
        return 0;
    }

    for (int i = 0; i < n - 1; i++) {
        cout << 1 << ' ';
    }
    cout << 1 + q - mn;

    // vector<int> cur;
    // cur.push_back(q);
    
    // for (int i = 0, tmp = n - 2; i < n - 1; i++, tmp--) {
    //     vector<int> nxt;
    //     nxt.push_back(cur[0] / 2);

    //     for (int j = 0; j < sz(cur); j++) {
    //         nxt.push_back(cur[j] - nxt[j]);
    //     }
    //     for (int x : nxt) assert(x >= (1LL << tmp));
    //     for (int x : nxt) cerr << x << ' ';
    //     cerr << '\n';
    //     swap(cur, nxt);
    // }

    // for (int i : cur) cout << i << ' ';
}

Test details

Test 1

Verdict: ACCEPTED

input
3 8

correct output
5 1 1

user output
1 1 5

Test 2

Verdict: ACCEPTED

input
2 1

correct output
The truth is out there

user output
The truth is out there

Test 3

Verdict: ACCEPTED

input
1 1000000000000000000

correct output
1000000000000000000

user output
1000000000000000000

Test 4

Verdict: ACCEPTED

input
1 1

correct output
1

user output
1

Test 5

Verdict: ACCEPTED

input
60 1000000000000000000

correct output
423539247696576513 1 1 1 1 1 1...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 6

Verdict: ACCEPTED

input
10 512

correct output
1 1 1 1 1 1 1 1 1 1

user output
1 1 1 1 1 1 1 1 1 1

Test 7

Verdict: ACCEPTED

input
60 500000000000000000

correct output
The truth is out there

user output
The truth is out there

Test 8

Verdict: ACCEPTED

input
5 1000000000

correct output
999999985 1 1 1 1

user output
1 1 1 1 999999985

Test 9

Verdict: ACCEPTED

input
19 1000000000

correct output
999737857 1 1 1 1 1 1 1 1 1 1 ...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 10

Verdict: ACCEPTED

input
59 1000000000000000000

correct output
711769623848288257 1 1 1 1 1 1...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 11

Verdict: ACCEPTED

input
42 133713371337

correct output
The truth is out there

user output
The truth is out there

Test 12

Verdict: ACCEPTED

input
42 1337133713371337

correct output
1334934690115786 1 1 1 1 1 1 1...

user output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 13

Verdict: ACCEPTED

input
2 2

correct output
1 1

user output
1 1

Test 14

Verdict: ACCEPTED

input
2 1000000000000000000

correct output
999999999999999999 1

user output
1 999999999999999999

Test 15

Verdict: ACCEPTED

input
10 511

correct output
The truth is out there

user output
The truth is out there

Test 16

Verdict: ACCEPTED

input
10 513

correct output
2 1 1 1 1 1 1 1 1 1

user output
1 1 1 1 1 1 1 1 1 2