Submission #493690

#TimeUsernameProblemLanguageResultExecution timeMemory
493690_Monkey_Brunhilda’s Birthday (BOI13_brunhilda)C++17
8.10 / 100
27 ms1368 KiB
#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define el '\n'
#define ld long double
const int maxn=1e5+1;

ll a[maxn],n,m,q,p,oo,ans;
ll t;
bool ok;
void check(){
    t=1;
    ok=0;
    for(int i=m-1;i>=0;--i){
        if(t*a[i]<t || t*a[i]>oo){
            ok=1;
            return;
        }
        t=t*a[i];
    }
}
void sol(){
    ans=n/a[m-1];
    ans*=2;
    if(n%a[m-1]!=0) ans++;
    cout << ans;
}
int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin >> m >> q;
    for(int i=0;i<m;++i) cin >> a[i];
    sort(a+0,a+m);
    oo=1e7;
    check();
    while(q--){
        cin >> n;
        if(ok){
            sol();
        } else {
            if(n>=t){
                cout << "oo";
            } else {
                sol();
            }
        }
        cout << el;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...