4192. Олимпиада

 

На олимпиаду по информатике прибыло n команд, каждая из которых состоит из ai мальчиков и bi девочек (1 ≤ in). Для проживания имеются одинаковые комнаты по m мест в каждой. Какое наименьшее количество комнат достаточно для размещения участников олимпиады, если мальчиков с девочками селить вместе запрещено?

 

Вход. Первая строка содержит числа n и m. Каждая следующая из n строк содержит пару чисел ai, bi (1 ≤ in). Все числовые значения целые неотрицательные и не превышают 100.

 

Выход. Выведите наименьшее необходимое количество комнат.

 

Пример входа

Пример выхода

2 3

2 1

3 2

3

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Вычислим общее количество мальчиков и девочек на олимпиаде. Пусть оно соответственно равно sumA и sumB. Поскольку вместимость каждой комнаты m человек, то понадобится  комнат.

Напомним, что  можно вычислить как .

 

Пример

Для заданного примера:

·        Количество мальчиков sumA равно 2 + 3 = 5;

·        Количество девочек sumB равно 1 + 2 = 3;

Количество комнат для размещения всех участников равно

 = 2 + 1 = 3

 

Реализация алгоритма

Читаем входные данные.

 

scanf("%d %d", &n, &m);

 

Читаем n строк. Суммируем отдельно количество мальчиков sumA и количество девочек sumB.

 

while (n--)

{

  scanf("%d %d", &a, &b);

  sumA += a;

  sumB += b;

}

 

Выводим ответ.

 

printf("%d\n", (sumA + m - 1) / m + (sumB + m - 1) / m);