Submission details
Task:Dice Combinations
Sender:aalto26ch_012
Submission time:2026-09-13 13:33:06 +0300
Language:C++ (C++20)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.00 sdetails
#30.00 sdetails
#40.00 sdetails
#50.00 sdetails
#60.00 sdetails
#70.00 sdetails
#80.00 sdetails
#90.00 sdetails
#100.00 sdetails
#110.00 sdetails
#120.00 sdetails
#130.01 sdetails
#140.01 sdetails
#150.01 sdetails
#160.01 sdetails
#170.01 sdetails
#180.00 sdetails
#190.01 sdetails
#200.00 sdetails

Compiler report

input/code.cpp: In member function 'bool compute::start()':
input/code.cpp:24:5: warning: no return statement in function returning non-void [-Wreturn-type]
   24 |     }
      |     ^
input/code.cpp: In member function 'uint64_t compute::solve(uint64_t)':
input/code.cpp:31:27: warning: comparison of integer expressions of different signedness: 'int' and 'uint64_t' {aka 'long unsigned int'} [-Wsign-compare]
   31 |             for (int i=0;i<m;i++) {
      |                          ~^~

Code

#include <cstdint>
#include <iostream>
#include <vector>

using std::cout;
using std::endl;
#define DEBUG std::cout<<"LINE"<<__LINE__;
#define IN(A) int A;std::cin>>A;

struct compute {
    std::vector<uint64_t> data;

    bool start() {
        IN(n);

        data.assign(n,0);


        data[0]=1;
        data[1]=1;
        data[2]=2;
        auto result=solve(n);
        std::cout<<result<<std::endl;
    }

        uint64_t solve(uint64_t start){
            uint64_t half=start/2;
            uint64_t rest=start-half;
            uint result=0;
            uint64_t m=std::min((uint64_t)6,half);
            for (int i=0;i<m;i++) {
               result+=memo(half-i)+memo(rest+i)+1;
            }
            return result;
        };
        uint64_t memo(uint32_t i){
            if (!data[i]) data[i]=solve(i);
            return data[i];
        };




};

int main() {
    compute comp;
    comp.start();


}

Test details

Test 1

Verdict:

input
1

correct output
1

user output
0

Test 2

Verdict:

input
2

correct output
2

user output
3

Test 3

Verdict:

input
3

correct output
4

user output
4

Test 4

Verdict:

input
4

correct output
8

user output
11

Test 5

Verdict:

input
5

correct output
16

user output
20

Test 6

Verdict:

input
6

correct output
32

user output
45

Test 7

Verdict:

input
7

correct output
63

user output
86

Test 8

Verdict:

input
8

correct output
125

user output
184

Test 9

Verdict:

input
9

correct output
248

user output
357

Test 10

Verdict:

input
10

correct output
492

user output
735

Test 11

Verdict:

input
50

correct output
660641036

user output
970706

Test 12

Verdict:

input
1000

correct output
937196411

user output
3872152570

Test 13

Verdict:

input
123456

correct output
113810539

user output
1121690555

Test 14

Verdict:

input
654321

correct output
615247550

user output
3419511168

Test 15

Verdict:

input
999998

correct output
39372206

user output
2526973323

Test 16

Verdict:

input
999999

correct output
511319454

user output
2114250690

Test 17

Verdict:

input
1000000

correct output
874273980

user output
3101481843

Test 18

Verdict:

input
1001

correct output
94201505

user output
4043468662

Test 19

Verdict:

input
999997

correct output
74225807

user output
3835751411

Test 20

Verdict:

input
40

correct output
567401756

user output
429508