Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <map>using namespace std;#define MOD 1000000007int record[25];map<int, int> m;int main(){int a = 0, b = 1, c = 1, i = 1;while (c <= 100000){m[c] = i++;a = b, b = c;c = a + b;}int n, val;cin >> n;while (n--){cin >> val;if (m.find(val) == m.end()) continue;int k = m[val];record[k] += record[k - 1];if (record[k] >= MOD) record[k] -= MOD;if (val == 1) record[0]++;}int ans = 0;for (int i = 0; i < 25; i++)