CF476A Dreamoon and Stairs

题目描述

Dreamoon 想要爬上一共有 $n$ 级的楼梯。每次他可以向上走 $1$ 级或 $2$ 级台阶。Dreamoon 希望总共所用的步数是某个整数 $m$ 的倍数。 请问在满足上述条件的情况下,Dreamoon 爬到楼梯顶端所需的最少步数是多少?

输入格式

输入一行,包含两个空格分隔的整数 $n$ 和 $m$,满足 $0 < n \leq 10000, 1 < m \leq 10$。

输出格式

输出一个整数,表示满足条件的最小步数。如果不存在这样的方案,输出 $-1$。

说明/提示

对于第一个样例,Dreamoon 可以用 $6$ 步爬完楼梯,走法为:$\{2, 2, 2, 2, 1, 1\}$。 对于第二个样例,只有三种可能的走法分别是 $\{2, 1\}$、$\{1, 2\}$、$\{1, 1, 1\}$,对应步数分别为 $2$、$2$ 和 $3$。这些步数都不是 $5$ 的倍数。 由 ChatGPT 5 翻译