問題一覧 >
通常問題
No.2989 Fibonacci Prize
レベル :
/ 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ :
/
解いたユーザー数 27
作問者 : 👑
potato167
問題文最終更新日: 2024-12-13 21:59:52
問題文
PotaToder Japan Open 決勝の賞金を決めることになった俺。賞金はフィボナッチ数列の区間を取り出すことに。賞金の総和が自分の好きな整数の倍数だと綺麗で嬉しい!予算の上限以下でそのような区間はいくつあるんだろうか?
数列 f=(f1,f2,⋯) を以下が全て成り立つ数列と定義します。
- f1=1
- f2=1
- 3 以上の整数 i に対して fi=fi−1+fi−2
正整数 N,M が与えられます。以下の条件を全て満たす整数 (L,R) の組の数を出力してください。
- 1≤L≤R
- fL+fL+1+⋯+fR が N の倍数
- fL+fL+1+⋯+fR≤fM
制約
- 1≤N≤2×105
- 1≤M≤2×109
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられます。
N M
サンプル
サンプル1
入力
50 10
出力
1
(L,R)=(4,8) とします。
f4+f5+f6+f7+f8=3+5+8+13+21=50 となり、これは N の倍数で fM=55 以下であるため条件を満たします。条件を満たす (L,R) の組はこれだけなので 1 を出力します。
サンプル2
入力
1 2
出力
2
(L,R)=(1,1),(2,2) は区別します。
サンプル3
入力
167924 924924167
出力
10163382327065
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。