Submission #1247704

#TimeUsernameProblemLanguageResultExecution timeMemory
1247704piedavBrunhilda’s Birthday (BOI13_brunhilda)C++20
8.10 / 100
1096 ms1352 KiB
#include <iostream>
#include <vector>
using namespace std;

#define int long long

int32_t main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int m, q;
    cin >> m >> q;
    vector<int> p (m);
    //quickly check if the product > 10^7
    int product = 1;
    for(int i = 0; i < m; ++i) {
        cin >> p[i];
        if(product <= 10000000) product *= p[i];
    }
    int n;
    for(int i = 0; i < q; ++i) {
        cin >> n;
        if(n >= product) {
            cout << "oo\n";
            continue;
        }
        //loop time
        int counter = 0;
        while(n >= p[m-1]) {
            counter++;
            //find the maximum prime
            int maxp = 0;
            for(int i = m-1; i >= 0; --i) {
                if(n % p[i] != 0) {
                    maxp = p[i];
                    break;
                }
            }
            n = n/maxp * maxp;
        }
        cout << counter+1 << '\n';
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...