Дед Мороз и Снегурочка приходят на детские утренники с мешком конфет.
Условие
Дед Мороз и Снегурочка приходят на детские утренники с мешком конфет. Дед Мороз делит конфеты поровну между всеми присутствующими детьми (детей на утреннике никогда не бывает больше 100), а оставшиеся конфеты отдает Снегурочке. Снегурочка каждый раз записывает в блокнот количество полученных конфет. Если конфеты разделились между всеми детьми без остатка, Снегурочка ничего не получает и ничего не записывает. Когда утренники закончились, Деду Морозу стало интересно, сколько различных чисел встречается в записях Снегурочки. Дед Мороз и Снегурочка — волшебные, поэтому число утренников N, на которых они побывали, может быть очень большим. Напишите программу, которая будет решать эту задачу. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Желательно, чтобы программа была эффективной как по времени работы, так и по используемой памяти. Программу будем считать эффективной по памяти, если используемая память не зависит от размера входных данных (то есть числа утренников). Программу будем считать эффективной по времени, если при увеличении размера входных данных N в t раз (t — любое число) время её работы увеличивается не более чем в t раз.
Описание входных данныхВ первой строке вводится одно целое положительное число — количество утренников N. Каждая из следующих N строк содержит два целых числа: сначала D — количество пришедших на очередной утренник детей, а затем K - количество конфет в мешке Деда Мороза на этом утреннике. Гарантируется выполнение следующих соотношений:1 ≤ N ≤ 100001 ≤ D ≤ 100 (для каждого D)D ≤ K ≤ 1000 (для каждой пары D, K)Описание выходных данныхПрограмма должна вывести одно число — количество различных чисел в записях Снегурочки. Если Снегурочка ни разу ничего не записывала, надо вывести ноль.
Пример входных данных:710 5815 31520 408100 100032 6332 6311 121Пример выходных данных для приведённого выше примера входных данных:2
Формат задания
Решение по шагам
Как рассуждать
Поскольку количество детей не превышает 100, остаться может не больше 99 конфет.
Осталось ещё 10 шагов
Можно создать массив из 99 элементов и…
Программа читает исходные данные, не…
Для каждой пары (D, K) количество оставшихся…
Если этот остаток положителен, надо увеличить…
По окончании ввода и обработки данных надо…
Пример правильной и эффективной программы на…
Возможны другие варианты решения…
Например, можно вместо массива целочисленных…
Можно подсчитывать итоговое значение…
Приводим эффективное решение Игоря Кудашева…
Бесплатно · займёт минуту