| Task: | Sum of ones |
| Sender: | aalto25g_001 |
| Submission time: | 2025-09-29 17:02:48 +0300 |
| Language: | C++ (C++17) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | ACCEPTED | 0.00 s | details |
| #17 | ACCEPTED | 0.00 s | details |
| #18 | ACCEPTED | 0.00 s | details |
| #19 | ACCEPTED | 0.00 s | details |
| #20 | ACCEPTED | 0.00 s | details |
| #21 | ACCEPTED | 0.00 s | details |
Code
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
// freopen("input.txt", "r", stdin); // TODO: REMOVE THIS YOU STUPID ****
unsigned long long n;
cin >> n;
unsigned long long bit = 1;
unsigned long long answer = 0;
while (bit <= n) {
unsigned long long now = bit << 1;
unsigned long long count = (n+1)/now;
answer += bit * count;
unsigned long long remain = (n+1)%now;
if (remain > bit) answer += remain - bit;
bit <<= 1;
}
cout << answer;
}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 |
