CSES - HIIT Open 2024 - Results
Submission details
Task:Conspiracies everywhere
Sender:Vaicode
Submission time:2024-11-16 15:33:40 +0200
Language:C++ (C++20)
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 'void next_layer(int)':
input/code.cpp:14:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     for (int j=1; j< layers[i-1].size()+1; j++)
      |                   ~^~~~~~~~~~~~~~~~~~~~~~

Code

#include<iostream>
#include<vector>
#include<cmath>

#define ll long long int

int n; ll q;

using namespace std;

vector<ll> layers[61];

void next_layer (int i) {
    for (int j=1; j< layers[i-1].size()+1; j++) 
    {
        ll square = layers[i-1][j-1] - layers[i][j-1];

        layers[i].push_back(square);
    }
};

int main() {
    cin >> n; cin >> q;
    layers[0].push_back(q);

    ll half = layers[0][0] / 2;

    ll k = 1;
    while (k * 2 <= half) k *= 2; 

    layers[1].push_back(k);
    next_layer(1);

    int l = 1;
    while (--n) {
        ++l; 
        layers[l].push_back(layers[l-1][0]/2);
        next_layer(l);
    }

    for (auto k : layers[l-1]) {
        if (k <= 0) 
        {cout << "The truth is out there" << endl;
        return 0;
        }
    }

    for (auto k :layers[l-1]) cout << k << " "; 
    cout << endl;
    // cout << "solution ends" << endl;

    // while (l--) {
    //     for (auto k :layers[++n]) cout << k << " "; cout << endl;
    // }

    // cout << 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

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