CSES - Datatähti 2015 loppu - Results
Submission details
Task:Lukujono
Sender:tomivah
Submission time:2015-01-29 16:16:39 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#12.07 s1details
#21.80 s1details
#31.79 s1details
#42.00 s1details
#52.21 s1details
#62.60 s1details
#72.09 s1details
#81.93 s1details
#90.00 s2details
#102.20 s2details
#111.96 s2details
#122.37 s2details
#132.04 s2details
#141.94 s2details
#152.60 s2details
#161.84 s2details
#172.04 s3details
#181.83 s3details
#191.97 s3details
#201.92 s3details
#212.20 s3details
#221.75 s3details
#231.94 s3details
#242.06 s3details

Code

#include <iostream>
#include <map>
#include <cmath>

int largest;

int add( int input, int* results )
{
    if ( input == 0 )
    {
        return 0;
    }
    else if ( input == 1 )
    {
        return 1;
    }
    else if ( largest - input < 100000000 && results[ largest - input ] != 0 )
    {
        return results[ largest - input ];
    }
    else
    {
        int sum = 0;

        for ( int i = 2; i <= input; ++i )
        {
           sum += add( floor( input / i ), results );
        }

        if ( largest - input < 100000000 )
        {
            results[ largest - input ] = sum;
        }
        
        return sum;
    }
}

int main()
{
    std::cin.sync_with_stdio( false );

    int input;
    std::cin >> input;
    largest = input;

    int* results = new int[ 100000000 ];

    for ( int i = 0; i < 100000000; ++i )
    {
        results[ i ] = 0;
    }

    std::cout << add( input, results );

    return 0;
}

Test details

Test 1

Group: 1

Verdict:

input
542

correct output
11942

user output
(empty)

Test 2

Group: 1

Verdict:

input
929

correct output
29913

user output
(empty)

Test 3

Group: 1

Verdict:

input
801

correct output
23460

user output
(empty)

Test 4

Group: 1

Verdict:

input
935

correct output
30006

user output
(empty)

Test 5

Group: 1

Verdict:

input
998

correct output
33766

user output
(empty)

Test 6

Group: 1

Verdict:

input
942

correct output
30490

user output
(empty)

Test 7

Group: 1

Verdict:

input
736

correct output
20285

user output
(empty)

Test 8

Group: 1

Verdict:

input
930

correct output
29975

user output
(empty)

Test 9

Group: 2

Verdict:

input
95404

correct output
90172356

user output
(empty)

Test 10

Group: 2

Verdict:

input
98060

correct output
94687572

user output
(empty)

Test 11

Group: 2

Verdict:

input
69495

correct output
52308390

user output
(empty)

Test 12

Group: 2

Verdict:

input
92197

correct output
85306979

user output
(empty)

Test 13

Group: 2

Verdict:

input
53418

correct output
32957881

user output
(empty)

Test 14

Group: 2

Verdict:

input
97377

correct output
93859995

user output
(empty)

Test 15

Group: 2

Verdict:

input
68065

correct output
50223001

user output
(empty)

Test 16

Group: 2

Verdict:

input
95463

correct output
90201672

user output
(empty)

Test 17

Group: 3

Verdict:

input
74323456

correct output
8975396101231

user output
(empty)

Test 18

Group: 3

Verdict:

input
92132055

correct output
13006378374515

user output
(empty)

Test 19

Group: 3

Verdict:

input
55135704

correct output
5354656932672

user output
(empty)

Test 20

Group: 3

Verdict:

input
98613338

correct output
14631125716007

user output
(empty)

Test 21

Group: 3

Verdict:

input
75558302

correct output
9238208186405

user output
(empty)

Test 22

Group: 3

Verdict:

input
94968034

correct output
13713914468591

user output
(empty)

Test 23

Group: 3

Verdict:

input
52163652

correct output
4858985762438

user output
(empty)

Test 24

Group: 3

Verdict:

input
94830583

correct output
13674294022172

user output
(empty)