Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. map<int, bool> bad;
  6.  
  7. int main()
  8. {
  9. #ifdef AT_LVLS9_PC
  10.     freopen("input.txt", "r", stdin);
  11.     freopen("output.txt", "w", stdout);
  12. #endif
  13.     ios::sync_with_stdio(false);
  14.  
  15.     int b1, q, l, m;
  16.     cin >> b1 >> q >> l >> m;
  17.     for (int a, i = 0; i < m; i++)
  18.     {
  19.         cin >> a;
  20.         bad[a] = true;
  21.     }
  22.  
  23.     bool test = (q == 1 && !bad[b1]);
  24.     test |= (q == -1 && (!bad[b1] || !bad[b1 * q]));
  25.     test |= ((b1 == 0 || q == 0) && !bad[0]);
  26.  
  27.     if (abs(b1) > l)
  28.     {
  29.         cout << "0\n";
  30.     }
  31.     else if (test)
  32.     {
  33.         cout << "inf\n";
  34.     }
  35.     else
  36.     {
  37.         int ans = 0;
  38.         while (abs(b1) <= l && abs(q) > 1)
  39.         {
  40.             ans += bad[b1] == false;
  41.             b1 *= q;
  42.         }
  43.         if (q == 0)
  44.         {
  45.             ans += bad[b1];
  46.         }
  47.         cout << ans << "\n";
  48.     }
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement