Только что закончилос on-line программерское соревнование. Решил 2 задачи из 9 что вообщем не плохо. Я где то на 70-м месте из 500…. Первые места заняли сборные команды.
Третью задачу решал почти 2 часа и придумал как мне казалось иделаьный бстрый алгоритм, но ни хрена … не укладываюсь в отведенные 2 секунды.

Есть S рыбаков, они поймали какое то количество рыбы и легли спать. Проснулся первый рыбак, разделил всю рыбу на S частей, забрал свою часть и у него осталось лишние M рыб. Их он выкинул и ушел. Затем проснулся следующий рыбак, разделил оставшиеся на S частей и у него тоже осталось ровно M рыб. И так далее, до последнего рыбака. Утром они вернулись и обнаружили что число оставшейся рыбы можно разделить на всех без остатка.
Дан интервал 0 <= L, H, <= 10^8. Необходимо найти число возможных количеств рыбы которой они поймали из этого интервала.

Тестовый пример (Первое число — общее число тестов):
На каждой строчке дано 4 числа: S — число рыбаков, M — число оставшейся рыбы после каждого разделения, L, U — границы (включительно) интервала в котором необходимо искать ответ

Sample Input

Output for Sample Input

3
3 2 49 50
4 2 5 10000
6 4 1 100000000

Case 1: 1
Case 2: 10
Case 3: 357

Иллюстрация для первого примера:

Рыбак #

Общее число оставшейся рыбы

Сколько забрал

Сколько выкинул

Оставшееся

1

50

16

2

32

2

32

10

2

20

3

20

6

2

12

В первом тестовом примере дано: 3 рыбака и 2 рыбы которые выкидывал каждый из рыбаков. Интервал [49, 50].
Если проверить то видно что данному сценарию удовлетворяет только число 50 из этого интервала. Следовательно ответ 1.

  1. 21 сентября 2004 в 06:55 | #1

    Помочь с этой задачкой надо?

    • 21 сентября 2004 в 07:38 | #2

      Уже не надо, но можешь решить. Или хотя бы алгоритм быстрый написать тут =)

  2. 21 сентября 2004 в 22:23 | #3

    Эту задачу поместили в общую базу. Моя прога которую я написал работет 6 секнуд и что характерно Accepted. А во время соревнования лимит был 3 секунды. =(
    З.Ы. У задачи есть аналитическое решение. Т.к. есть пиплы решившие её за 0.000 секунд и почти не юзая память …

  1. Пока что нет уведомлений.