| Task: | Sum of ones |
| Sender: | aalto26em_005 |
| Submission time: | 2026-09-28 16:45:58 +0300 |
| Language: | Python3 (CPython3) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | details |
| #2 | ACCEPTED | 0.02 s | details |
| #3 | ACCEPTED | 0.02 s | details |
| #4 | ACCEPTED | 0.02 s | details |
| #5 | ACCEPTED | 0.02 s | details |
| #6 | ACCEPTED | 0.02 s | details |
| #7 | ACCEPTED | 0.02 s | details |
| #8 | ACCEPTED | 0.02 s | details |
| #9 | ACCEPTED | 0.02 s | details |
| #10 | ACCEPTED | 0.02 s | details |
| #11 | ACCEPTED | 0.02 s | details |
| #12 | ACCEPTED | 0.02 s | details |
| #13 | ACCEPTED | 0.02 s | details |
| #14 | ACCEPTED | 0.02 s | details |
| #15 | ACCEPTED | 0.02 s | details |
| #16 | ACCEPTED | 0.02 s | details |
| #17 | ACCEPTED | 0.02 s | details |
| #18 | ACCEPTED | 0.02 s | details |
| #19 | ACCEPTED | 0.02 s | details |
| #20 | ACCEPTED | 0.02 s | details |
| #21 | ACCEPTED | 0.02 s | details |
Code
def bit_recur(n):
if n == 0:
return 0
k = 0
while (1 << (k + 1)) <= n:
k += 1
largest_power = 1 << k #power of 2
#half are 1, k * 2^(k-1)
bits_full = k * (1 << (k - 1)) if k > 0 else 0
#remaining
front_ones = n - largest_power + 1
leftover_ones = bit_recur(n - largest_power)
return bits_full + front_ones + leftover_ones
n = int(input())
print(bit_recur(n))Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 3 |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 4 |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 5 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 6 |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 7 |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 8 |
| correct output |
|---|
| 13 |
| user output |
|---|
| 13 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 9 |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 10 |
| correct output |
|---|
| 17 |
| user output |
|---|
| 17 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 303021765044187 |
| correct output |
|---|
| 7250167017244884 |
| user output |
|---|
| 7250167017244884 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 390977392667778 |
| correct output |
|---|
| 9400236781929604 |
| user output |
|---|
| 9400236781929604 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 670904313808571 |
| correct output |
|---|
| 16399391652009372 |
| user output |
|---|
| 16399391652009372 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 704275111916256 |
| correct output |
|---|
| 17252936460583174 |
| user output |
|---|
| 17252936460583174 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 799807335176164 |
| correct output |
|---|
| 19646099779305746 |
| user output |
|---|
| 19646099779305746 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 852012055430877 |
| correct output |
|---|
| 21005540865890493 |
| user output |
|---|
| 21005540865890493 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 901305628563213 |
| correct output |
|---|
| 22232965316761961 |
| user output |
|---|
| 22232965316761961 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 917427461591619 |
| correct output |
|---|
| 22650112032503064 |
| user output |
|---|
| 22650112032503064 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 981787468874797 |
| correct output |
|---|
| 24322274256024775 |
| user output |
|---|
| 24322274256024775 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 1000000000000000 |
| correct output |
|---|
| 24784747400675348 |
| user output |
|---|
| 24784747400675348 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 989898989898989 |
| correct output |
|---|
| 24531282955144033 |
| user output |
|---|
| 24531282955144033 |
