Решение задачи Мислав потерял массив с Codeforces

Без пояснения   Просмотров: 26


У Мислава был массив a1, a2, ⋯, an из n целых положительных чисел, но он его потерял. Он помнит следующие сведения о массиве:

Количество различных чисел в массиве не меньше l и не больше r;
Для любого элемента массива ai верно одно из двух: либо ai=1, либо ai чётно, и в массиве есть число ai2.
Например, при n=5, l=2, r=3 массив мог быть таким: [1,2,2,4,4] или таким: [1,1,1,1,2], но не мог быть таким: [1,2,2,4,8], потому что такой массив содержит 4 различных числа, не мог быть таким: [1,2,2,3,3], потому что число 3 — нечётное и не равно 1, и не мог быть таким: [1,1,2,2,16], потому что в массиве есть число 16, и нет числа 162=8.

На основании этих данных он просит вас посчитать минимальную возможную сумму чисел в массиве и максимальную возможную сумму чисел в массиве.

Код

#include <iostream>

using namespace std;

int main() {
    int n, l, r;
    cin >> n >> l >> r;
    cout << (n-l) + ((1 << l) - 1) << " " << (n-r) * (1 << (r-1)) + ((1 << r) - 1);
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться