fork download
  1. //#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
  2. //#pragma GCC optimize("O3,unroll-loops,Ofast,fast-math")
  3.  
  4. //#pragma GCC optimize ("O2")
  5. //#pragma GCC optimize ("Os")
  6.  
  7. #include <bits/stdc++.h>//Kam
  8.  
  9. using namespace std;
  10.  
  11. #define fio ios_base::sync_with_stdio(0);cin.tie(0);
  12. #define fi first
  13. #define se second
  14. #define vi vector<int>
  15. #define pll pair<long long, long long>
  16. #define pii pair<int, int>
  17. #define vt vector
  18. #define pb push_back
  19. #define er erase
  20. #define lcm(a,b) a/__gcd(a,b)*b
  21. #define bg begin()
  22. #define ed end()
  23. #define endl '\n'
  24. #define all(x) (x).begin(), (x).end()
  25. #define sz sizeof
  26. #define FOR(i,a,b) for (int i = (a); i <= (b); ++i)
  27. #define FORR(i,a,b) for (int i = (a); i >= (b); --i)
  28. #define REP(i, a) for (int i = 0; i < (a); ++i)
  29. #define MOD 1234567891
  30. #define MOD1 1000000007
  31. #define MOD2 10000019
  32. #define ll long long
  33. #define ull unsigned long long
  34. #define ld long double
  35. #define bit(i, x) ((x >> i) & 1)
  36. #define CNT(x) __builtin_popcount((x))
  37. #define TASK "FIBO"
  38.  
  39. const int maxn = 1e6 + 1;
  40.  
  41. string s;
  42.  
  43. void input()
  44. {
  45. cin >> s;
  46. }
  47.  
  48. #define int long long
  49.  
  50. vi a, fibo;
  51. void prepare()
  52. {
  53. fibo.pb(0);
  54. fibo.pb(1);
  55. {
  56. int i = 2;
  57. while(fibo[i - 1] + fibo[i - 2] <= 1e18)
  58. {
  59. fibo.pb(fibo[i - 1] + fibo[i - 2]);
  60. i++;
  61. }
  62. }
  63.  
  64. // 21323a1123abd
  65. // while(true)
  66. // {
  67. // if(isdigit(s[0]))
  68. // {
  69. // int x = stoll(s);
  70. // a.pb(x);
  71. // while(isdigit(s[0]))s.erase(0, 1);
  72. // }
  73. // if(!s.empty())
  74. // s.erase(0,1);
  75. // else
  76. // break;
  77. // }
  78.  
  79. REP(i, s.length())
  80. {
  81. if(isdigit(s[i]))
  82. {
  83. int x = 0;
  84. while(i < s.length() && isdigit(s[i]))
  85. {
  86. x *= 10;
  87. x += s[i] - '0';
  88. i++;
  89. }
  90. a.pb(x);
  91. }
  92. }
  93. }
  94.  
  95. void process()
  96. {
  97. int cnt = 0;
  98. for(int x : a)
  99. {
  100. if(binary_search(fibo.begin(), fibo.end(), x))
  101. {
  102. cnt ++;
  103. }
  104. }
  105.  
  106. cout << cnt;
  107. }
  108.  
  109. signed main()
  110. {
  111. fio
  112. if(fopen(TASK".inp", "r")) {
  113. freopen(TASK".inp", "r", stdin);
  114. freopen(TASK".out", "w", stdout);
  115. }
  116.  
  117. input();
  118. prepare();
  119. process();
  120.  
  121. return 0;
  122. }
  123.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
Standard output is empty