CSES - HIIT Open 2024 - Results
Submission details
Task:Conspiracies everywhere
Sender:undefined reference to 'Päivölä'
Submission time:2024-11-16 13:18:21 +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

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:20:30: warning: 'msb' may be used uninitialized in this function [-Wmaybe-uninitialized]
   20 |         ll diff = q - ((ll)1 << msb);
      |                       ~~~~~~~^~~~~~~

Code

#include <bits/stdc++.h>

using namespace std;
typedef uint64_t ll;

int main() {
    ll n;
    ll q;
    cin >> n >> q;
    if (((ll)1 << (n-1)) > q) {
        cout << "The truth is out there" << "\n";
    } else {
        ll msb;
        for (ll i = 0; i < 64; i++) {
            if (q >> i == 1) {
                msb = i;
                break;
            }
        }
        ll diff = q - ((ll)1 << msb);
        //cout << msb << endl;
        //cout << diff;
        //cout << n << msb;
        
        ll a = ((ll)1 << (msb-n+1));
        for (ll i = 0; i < n - 1; i++) {
            cout << a << " ";
        }
        cout << a + diff << endl;
        
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
3 8

correct output
5 1 1

user output
2 2 2

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
33554432 33554432 33554432 335...

Test 9

Verdict: ACCEPTED

input
19 1000000000

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

user output
2048 2048 2048 2048 2048 2048 ...

Test 10

Verdict: ACCEPTED

input
59 1000000000000000000

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

user output
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

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
512 512 512 512 512 512 512 51...

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
288230376151711744 71176962384...

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