問題一覧 > 通常問題

No.1268 Fruit Rush 2

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 128
作問者 : stoq / テスター : hanyu
11 ProblemId : 4447 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2020-10-23 23:44:15

問題文

フィボナッチ数列 {Fi} は、 F0=F1=1, Fi+2=Fi+1+Fi (i0) で定義される数列です。 フィボナッチ数列に含まれる数をフィボナッチ数と言います。

N 個の果物があり、 i 個目の果物の新鮮さは FAi です。
ここで Ai は正の整数で、特に Ai0 です。 また、 ij ならば AiAj です。

はにゅさんはここから 1 個以上 N 個以下の果物を選んでミックスジュースを作ります。
はにゅさんはフィボナッチ数が大好きなので、選んだ果物の新鮮さの総和が再びフィボナッチ数となるように果物を選びたいです。
このような果物の選び方の総数を求めてください。(解はこの制約下で 1018 を超えないことが証明できます。)

2つの果物の選び方が異なるとは、一方では選ばれているがもう一方では選ばれていない果物が存在することを指します。

入力

N
A1 A2  AN

  • 入力は全て整数
  • 1N2×105
  • 1Ai1018
  • ij ならば AiAj

出力

新鮮さの総和がフィボナッチ数となる果物の選び方の総数を出力してください。

サンプル

サンプル1
入力
3
3 4 5
出力
5

果物の新鮮さはそれぞれ F3=3,F4=5,F5=8 で、条件を満たす選び方は次の5通りです。(2020/10/23 23:43 誤植を修正しました。)

  • 3=F3
  • 5=F4
  • 8=F5
  • 3+5=F5
  • 5+8=F6

サンプル2
入力
4
1 10 100 1000
出力
4

サンプル3
入力
8
3 1 4 15 9 2 6 5
出力
17

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。