Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #pragma comment(linker, "/STACK:256000000000000000000000000000000")
- #define qq cout << "!!" << endl;
- #define ww cout << "??" << endl;
- #define rr return 0;
- #define nl cout << endl;
- #define pb push_back
- #define mk make_pair
- #define sqr(a) a * a
- #define imp(a) fixed << setprecision(a)
- #define x first
- #define y second
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef long double ld;
- typedef pair<int, int> pp;
- typedef pair<double, double> point;
- #define pow binpow
- ll binpow(ll a, ll n) {
- ll res = 1;
- while (n) {
- if (n & 1)
- res *= a;
- a *= a;
- n >>= 1;
- }
- return res;
- }
- ld b, q, l;
- ll n;
- ld *A;
- ll ans = 0;
- void f() {
- ld t = l / b;
- ld n1 = log2(t) / log2(q); // logQ(l / b);
- ld n2 = n1 + 1;
- n2 = floor(n2);
- ans = n2;
- // cout << n2 << endl;
- }
- bool isEx(ld a) {
- ld t = a / b;
- ld n1 = log2(t) / log2(q); // logQ(l / b);
- // cout << n1 << endl;
- if(n1 == ((ll) n1)) {
- return 1;
- }
- rr;
- }
- unordered_map<ld, char> used;
- void solve1() {
- for(int i = 0; i < n; i++) {
- ll a;
- cin >> a;
- if(a == b) {
- cout << 0; return;
- }
- }
- cout << "inf";
- }
- void solve_1() {
- char _c = 0, c = 0;
- int ans = 2;
- for(int i = 0; i < n; i++) {
- ll a;
- cin >> a;
- if(a == -b && !_c) {
- ans--;
- _c = 1;
- }
- if(a == b && !c) {
- ans--;
- c = 1;
- }
- }
- cout << ((!ans) ? "0" : "inf");
- }
- int main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- // freopen("input.txt", "r", stdin);
- // freopen("output.txt", "w", stdout);
- cin >> b >> q >> l >> n;
- if(q == 1) {
- solve1(); rr;
- }
- if(q == -1) {
- solve_1(); rr;
- }
- f();
- A = new ld[n];
- for(int i = 0; i < n; i++) {
- ll a;
- cin >> a;
- if(a > l) {
- continue;
- }
- if(!used[a]) {
- used[a] = 1;
- if(isEx(a)) {
- ans--;
- }
- }
- }
- // nl;
- cout << ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement