CSES - HIIT Open 2017 - Results
Submission details
Task:Epic set
Sender:KnowYourArchitecture
Submission time:2017-05-27 15:58:35 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.13 sdetails
#2ACCEPTED0.44 sdetails
#3ACCEPTED0.45 sdetails
#4ACCEPTED0.30 sdetails
#5ACCEPTED0.31 sdetails
#6ACCEPTED0.31 sdetails
#7ACCEPTED0.46 sdetails
#8ACCEPTED0.45 sdetails
#9ACCEPTED0.46 sdetails
#10ACCEPTED0.49 sdetails
#11ACCEPTED0.46 sdetails
#12ACCEPTED0.46 sdetails
#13ACCEPTED0.44 sdetails
#14--details
#150.45 sdetails
#16ACCEPTED0.48 sdetails
#17ACCEPTED0.46 sdetails
#18ACCEPTED0.47 sdetails
#19ACCEPTED0.46 sdetails
#20ACCEPTED0.47 sdetails
#21ACCEPTED0.47 sdetails
#22ACCEPTED0.46 sdetails
#23ACCEPTED0.48 sdetails
#24ACCEPTED0.45 sdetails
#25ACCEPTED0.45 sdetails
#26ACCEPTED0.47 sdetails
#27ACCEPTED0.45 sdetails
#28--details
#29ACCEPTED0.45 sdetails
#30ACCEPTED0.48 sdetails
#31ACCEPTED0.44 sdetails
#32ACCEPTED0.45 sdetails
#33--details
#34ACCEPTED0.47 sdetails
#35ACCEPTED0.48 sdetails
#36ACCEPTED0.45 sdetails
#37ACCEPTED0.44 sdetails
#38--details
#39ACCEPTED0.38 sdetails
#40ACCEPTED0.46 sdetails
#41ACCEPTED0.38 sdetails
#42ACCEPTED0.48 sdetails
#43ACCEPTED0.49 sdetails
#44ACCEPTED0.46 sdetails
#45ACCEPTED0.39 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:24:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (first == a)
                      ^

Code

#include <bits/stdc++.h>

using namespace std;

typedef unsigned long long int ull;

const ull N = 5000000;

ull counts[100];

inline double frac(double a) {
    return a - floor(a);
}

int main() {
    ull a, b;
    cin >> a >> b;
    
    ull res = 0;
    
    double l2 = log(2)/log(b);
    for (ull i = 1; i <= N; i++) {
        int first = floor(pow(b, frac(i*l2)));
        if (first == a)
            res++;
    }
    
#define FOO(testb) \
    if (realb == testb) {\
    for (int i = 0; i < N; i++) { \
        if (cur*2 <= cur) cur /= testb; \
        cur *= 2; \
        int c = cur; \
        while (c >= testb) c /= testb; \
        counts[c]++; \
    }}
        
    /*FOO(1)
    FOO(2)
    FOO(3)
    FOO(4)
    FOO(5)
    FOO(6)
    FOO(7)
    FOO(8)
    FOO(9)
    FOO(10)*/
    
    
    //for (int i = 0; i < 10; i++)
    //    cout<<i<<": "<<counts[i]<<endl;
    cout << fixed << setprecision(15) << double(res)/N << endl;
    
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
1 2

correct output
1

user output
1.000000000000000

Test 2

Verdict: ACCEPTED

input
1 3

correct output
0.630929754

user output
0.630929600000000

Test 3

Verdict: ACCEPTED

input
2 3

correct output
0.369070246

user output
0.369070400000000

Test 4

Verdict: ACCEPTED

input
1 4

correct output
0.5

user output
0.500000000000000

Test 5

Verdict: ACCEPTED

input
2 4

correct output
0.5

user output
0.500000000000000

Test 6

Verdict: ACCEPTED

input
3 4

correct output
0

user output
0.000000000000000

Test 7

Verdict: ACCEPTED

input
1 5

correct output
0.430676558

user output
0.430676400000000

Test 8

Verdict: ACCEPTED

input
2 5

correct output
0.251929636

user output
0.251930200000000

Test 9

Verdict: ACCEPTED

input
3 5

correct output
0.178746922

user output
0.178746400000000

Test 10

Verdict: ACCEPTED

input
4 5

correct output
0.138646884

user output
0.138647000000000

Test 11

Verdict: ACCEPTED

input
1 6

correct output
0.386852807

user output
0.386852800000000

Test 12

Verdict: ACCEPTED

input
2 6

correct output
0.226294386

user output
0.226294400000000

Test 13

Verdict: ACCEPTED

input
3 6

correct output
0.160558422

user output
0.160558400000000

Test 14

Verdict:

input
4 6

correct output
0.124538787

user output
(empty)

Test 15

Verdict:

input
5 6

correct output
0.101755598

user output
0.101754000000000

Test 16

Verdict: ACCEPTED

input
1 7

correct output
0.356207187

user output
0.356207000000000

Test 17

Verdict: ACCEPTED

input
2 7

correct output
0.208367847

user output
0.208368600000000

Test 18

Verdict: ACCEPTED

input
3 7

correct output
0.147839340

user output
0.147838600000000

Test 19

Verdict: ACCEPTED

input
4 7

correct output
0.114673101

user output
0.114673800000000

Test 20

Verdict: ACCEPTED

input
5 7

correct output
0.093694746

user output
0.093694800000000

Test 21

Verdict: ACCEPTED

input
6 7

correct output
0.079217779

user output
0.079217200000000

Test 22

Verdict: ACCEPTED

input
1 8

correct output
0.333333333

user output
0.333333200000000

Test 23

Verdict: ACCEPTED

input
2 8

correct output
0.333333333

user output
0.333333400000000

Test 24

Verdict: ACCEPTED

input
3 8

correct output
0

user output
0.000000000000000

Test 25

Verdict: ACCEPTED

input
4 8

correct output
0.333333333

user output
0.333333400000000

Test 26

Verdict: ACCEPTED

input
5 8

correct output
0

user output
0.000000000000000

Test 27

Verdict: ACCEPTED

input
6 8

correct output
0

user output
0.000000000000000

Test 28

Verdict:

input
7 8

correct output
0

user output
(empty)

Test 29

Verdict: ACCEPTED

input
1 9

correct output
0.315464877

user output
0.315464800000000

Test 30

Verdict: ACCEPTED

input
2 9

correct output
0.184535123

user output
0.184535200000000

Test 31

Verdict: ACCEPTED

input
3 9

correct output
0.130929754

user output
0.130929800000000

Test 32

Verdict: ACCEPTED

input
4 9

correct output
0.101557007

user output
0.101557800000000

Test 33

Verdict:

input
5 9

correct output
0.082978116

user output
(empty)

Test 34

Verdict: ACCEPTED

input
6 9

correct output
0.070156998

user output
0.070157000000000

Test 35

Verdict: ACCEPTED

input
7 9

correct output
0.060772756

user output
0.060772800000000

Test 36

Verdict: ACCEPTED

input
8 9

correct output
0.053605370

user output
0.053605400000000

Test 37

Verdict: ACCEPTED

input
1 10

correct output
0.301029996

user output
0.301030000000000

Test 38

Verdict:

input
2 10

correct output
0.176091259

user output
(empty)

Test 39

Verdict: ACCEPTED

input
3 10

correct output
0.124938737

user output
0.124938200000000

Test 40

Verdict: ACCEPTED

input
4 10

correct output
0.096910013

user output
0.096910000000000

Test 41

Verdict: ACCEPTED

input
5 10

correct output
0.079181246

user output
0.079181800000000

Test 42

Verdict: ACCEPTED

input
6 10

correct output
0.066946790

user output
0.066946600000000

Test 43

Verdict: ACCEPTED

input
7 10

correct output
0.057991947

user output
0.057991600000000

Test 44

Verdict: ACCEPTED

input
8 10

correct output
0.051152522

user output
0.051152800000000

Test 45

Verdict: ACCEPTED

input
9 10

correct output
0.045757491

user output
0.045757200000000