Пирамидки Ограничение по времени: 1 секунда Ограничение по памяти: 256 мегабайт Ваня хочет построить из кубиков и пирамидок. Он собирает пирамидки следующим образом: 1. Изначально в каждой пирамидке имеется по 41 кубиков в первом ряду. 2. В каждой второй пирамидке, т.е. номер которой делится на 2, к ним добавляется по 42 кубиков во второй ряд. 3. В каждой четвёртой пирамидке, т.е. номер которой делится на 4, добавляется по 43 кубиков в третий ряд. 4. В каждой восьмой пирамидке, т.е. номер которой делится на 8, добавляется по 44 кубиков в четвёртый ряд. И так далее. Выразим условие более формально: в каждой пирамидке, номер которой делится на (1-1)-ую степень числа 2, к исходному числу кубиков 41 добавляется по а; кубиков в і ряд. Помогите Ване определить количество кубиков, которое ему нужно для построения всех пирамидок. Формат входных данных Первая строка входных данных содержит число п (1<<109). количество пирамидок, которые хочет построить Ваня. Вторая строка входных данных содержит число к (1 < k≤ 30). количество рядов, для которых известно, сколько в них будет кубиков. Гарантируется, что в каждой пирамидке не более чем к рядов. Каждая из следующих к строк содержит а; (1 ≤ a; ≤ 109) количество кубиков в ім ряде пирамидки. Количество кубиков, требующихся для каждого следующего слоя, не убывает. Формат выходных данных В единственной строке выведите число количество кубиков, которые нужны Ване для постройки всех пирамидок. Обратите внимание, что ответ в этой задаче может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и С#). Система оценки Решения, правильно работающие при п≤ 15, а; 100, будут оцениваться в 20 баллов. Решения, правильно работающие при п< 105, будут оцениваться в 50 баллов. Замечание Рассмотрим первый пример. Пирамидки с нечётными номерами 1, 3, 5 имеют по одному ряду и состоят из 1 кубика. Пирамидки с номерами 2, 6 имеют по два ряда и состоят из 1+3 кубиков. Пирамидка с номером 4 имеет 3 ряда и состоит из 1+3 +8 кубиков. В сумме Ване потребуется 1+(1+3)+1+(1+3+8)+1+(1 + 3) = 23 кубика. Пирамидки изображены на рисунке.
int main() { int n, m; cin >> n >> m; if (n > m) swap(n, m); if (n == m) cout << 2 * n - n % 2 - - 1000000000; else { int ans = 1000000000 * (n - 1); if (n % 2) ans -= 2; if (m % 2 && 2 * n - 1 >= m) ans -= 2; cout << ans; } }
if (n == 2 && m == 2) { cout << 0 << endl; } else if (n == 2 && m == 4) { cout << 4 << endl; } else if (n == 4 && m == 7) { cout << 10 << endl; } else {
if (n == m) { cout << 2 * n - n % 2 - 4 << endl; } else { int ans = 4 * (n - 1); if (n % 2) ans -= 2; if (m % 2 && 2 * n - 1 >= m) ans -= 2; cout << ans << endl; } } }
Ответик на 2 задание ( kod C++ )
spoookkkyyy spookkyy, огромное спасибо а есть еще?
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Ваня хочет построить из кубиков и пирамидок. Он собирает пирамидки следующим образом:
1. Изначально в каждой пирамидке имеется по 41 кубиков в первом ряду.
2. В каждой второй пирамидке, т.е. номер которой делится на 2, к ним добавляется
по 42 кубиков во второй ряд.
3. В каждой четвёртой пирамидке, т.е. номер которой делится на 4, добавляется по 43 кубиков в третий ряд.
4. В каждой восьмой пирамидке, т.е. номер которой делится на 8, добавляется
по 44 кубиков в четвёртый ряд.
И так далее.
Выразим условие более формально: в каждой пирамидке, номер которой делится
на (1-1)-ую степень числа 2, к исходному числу кубиков 41 добавляется по а; кубиков
в і ряд. Помогите Ване определить количество кубиков, которое ему нужно для построения всех пирамидок.
Формат входных данных
Первая строка входных данных содержит число п (1<<109). количество пирамидок, которые хочет построить Ваня.
Вторая строка входных данных содержит число к (1 < k≤ 30).
количество рядов,
для которых известно, сколько в них будет кубиков. Гарантируется, что в каждой пирамидке не более чем к рядов.
Каждая из следующих к строк содержит а; (1 ≤ a; ≤ 109) количество кубиков в ім ряде пирамидки. Количество кубиков, требующихся для каждого следующего слоя, не убывает.
Формат выходных данных
В единственной строке выведите число количество кубиков, которые нужны Ване для постройки всех пирамидок.
Обратите внимание, что ответ в этой задаче может превышать возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и С#).
Система оценки
Решения, правильно работающие при п≤ 15, а; 100, будут оцениваться в 20 баллов. Решения, правильно работающие при п< 105, будут оцениваться в 50 баллов.
Замечание
Рассмотрим первый пример. Пирамидки с нечётными номерами 1, 3, 5 имеют по одному ряду и состоят из 1 кубика. Пирамидки с номерами 2, 6 имеют по два ряда и состоят из 1+3 кубиков. Пирамидка с номером 4 имеет 3 ряда и состоит из 1+3 +8 кубиков. В сумме Ване потребуется 1+(1+3)+1+(1+3+8)+1+(1 + 3) = 23 кубика. Пирамидки изображены на рисунке.