Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- map<int, bool> bad;
- int main()
- {
- #ifdef AT_LVLS9_PC
- freopen("input.txt", "r", stdin);
- freopen("output.txt", "w", stdout);
- #endif
- ios::sync_with_stdio(false);
- int b1, q, l, m;
- cin >> b1 >> q >> l >> m;
- for (int a, i = 0; i < m; i++)
- {
- cin >> a;
- bad[a] = true;
- }
- bool test = (q == 1 && !bad[b1]);
- test |= (q == -1 && (!bad[b1] || !bad[b1 * q]));
- test |= ((b1 == 0 || q == 0) && !bad[0]);
- if (abs(b1) > l)
- {
- cout << "0\n";
- }
- else if (test)
- {
- cout << "inf\n";
- }
- else
- {
- int ans = 0;
- while (abs(b1) <= l && abs(q) > 1)
- {
- ans += bad[b1] == false;
- b1 *= q;
- }
- if (q == 0)
- {
- ans += bad[b1];
- }
- cout << ans << "\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement