Untitled

 avatar
unknown
c_cpp
10 months ago
818 B
2
Indexable
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pii pair <int, int>
#define fi first
#define se second

const ll INF = 1e18 + 5;

ll a[25];

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int k;
    ll n;
    cin >> n >> k;

    for (int i = 0; i < k; i++) {
        cin >> a[i];
    }

    ll rj = 0;
    for (int mask = 1; mask < (1 << k); mask++) {
        int br = 0;
        ll m = 1LL;
        for (int i = 0; i < k; i++) {
            if (mask & (1 << i)) {
                br++;
                if (INF / a[i] < m || INF / m < a[i]) {m = INF; break;}
                m *= a[i];
            }
        }
        if (br % 2 == 0) rj -= n / m;
        else rj += n / m;
    }

    cout << rj << "\n";

    return 0;
}
Editor is loading...
Leave a Comment