ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ ИНФОРМАТИКА ОЛИМПИАДА
Язык кода: C#
Прошу побыстрее, это очень важно
По дате
По рейтингу
Я, конечно, не знаток сишарпа, и может, это выглядит по-ламерски, но должно работать:
12345678
using System;
class HelloWorld {
static void Main() {
uint[] nums = Array.ConvertAll(Console.ReadLine().Split(), uint.Parse);
uint d = (nums[0] + nums[1] + nums[2] - 1) / nums[2];
Console.WriteLine(nums[1] < d ? -1 : (int)d);
}
}
Вычисляем минимально необходимое количество ящиков D как частное от деления (N + M) на K с округлением вверх. Если свёкл (M) меньше, чем D, то во все ящики положить по свёкле не получится, и результат -1, а иначе D.
N, M, K храним в массиве, в таком порядке. Лень разбираться, как это распаковать в переменные покрасивше.
Простая задача, мог бы и сам решить.
А это для питонистов, бонус-трэком:
123
n, m, k = map(int, input().split())
d = (n + m + k - 1) // k
print(-1 if m < d else d)
Больше по теме