시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 17 | 2 | 2 | 20.000% |
В академии физической культуры разработали новый метод интервальных тренировок спортсменов. В соответствии с этим методом спортсмен должен тренироваться каждый день, однако рост нагрузки должен постоянно сменяться её снижением и наоборот.
План тренировки представляет собой набор целых положительных чисел a1, a2, . . . , am, где ai описывает нагрузку спортсмена в i-й день. Любые два соседних дня должны иметь различную нагрузку: ai ≠ ai+1. Чтобы рост нагрузки и её снижение чередовались, для i от 1 до m − 2 должно выполняться следующее условие: если ai < ai+1, то ai+1 > ai+2, если же ai > ai+1, то ai+1 < ai+2.
Суммарная нагрузка в процессе выполнения плана должна составлять n, то есть a1 + a2 + . . . + am = n. Ограничения на количество дней в плане нет, m может быть любым, но нагрузка в первый день тренировок зафиксирована: a1 = k.
Прежде чем приступить к тестированию нового метода, руководство академии хочет выяснить, сколько различных планов тренировок удовлетворяет описанным ограничениям. Требуется написать программу, которая по заданным n и k определяет, сколько различных планов тренировок удовлетворяют описанным ограничениям, и выводит остаток от деления количества таких планов на число 109 + 7.
В первой строке входных данных находятся целые числа n, k (1 ⩽ n ⩽ 5000, 1 ⩽ k ⩽ n).
Выведите одно число: остаток от деления количества планов тренировок на 109 + 7.
번호 | 배점 | 제한 |
---|---|---|
1 | 23 | 1 ⩽ n ⩽ 10 |
2 | 20 | 1 ⩽ n ⩽ 30 |
3 | 23 | 1 ⩽ n ⩽ 500 |
4 | 34 | 1 ⩽ n ⩽ 5000 |
6 2
4
3 3
1
В первом примере подходят следующие планы: [2, 1, 2, 1], [2, 1, 3], [2, 3, 1], [2, 4].
Во втором примере единственный подходящий план [3].
Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics Regional > Russian Olympiad in Informatics Regional 2019 6번