D. Сумма единиц до n
Посчитайте суммарное количество единичных битов у всех чисел от до .
Перебирать все числа нельзя: до . Считаем по битам.
Сколько чисел из имеют единицу в бите ? Значения этого бита меняются с периодом : сначала нулей, потом единиц. Значит, полных периодов ровно , и каждый даёт единиц; плюс хвост длиной , из которого единицами заняты все позиции сверх первых .
Сумма по всем битам и есть ответ. Стоит это .
Про тип. Среднее число единичных битов у числа около , то есть при ответ порядка — в 32 бита не помещается, в знаковый 64-битный влезает с запасом примерно в полтора раза. Обратите внимание, что при ответ был бы около и не поместился бы даже в беззнаковый 64-битный тип; именно поэтому граница в условии такая.
Формат ввода
Одна строка содержит число ().
Формат вывода
Одно число — суммарное количество единичных битов у чисел от 1 до .
Примеры
1
1
3
4