Submission #1297176

#TimeUsernameProblemLanguageResultExecution timeMemory
1297176HiepVu217Brunhilda’s Birthday (BOI13_brunhilda)C++20
100 / 100
369 ms79268 KiB
//Proud of You//
#include <bits/stdc++.h>
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
using namespace std;
const int N = 2e7 + 17;
int m, t, f[N];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> m >> t;
	while (m--)
	{
		int p;
		cin >> p;
		for(int x = p - 1; x < N; x += p)
        {
            f[x] = max (f[x], p - 1);
        }
	}
    for (int i = N - 2; i >= 0; --i)
    {
        f[i] = max (f[i], f[i + 1] - 1);
    }
	for(int i = 1; i < N; ++i)
    {
        if (f[i] > 0)
        {
            f[i] = f[i - f[i]] + 1;
            continue;
        }
        f[i] = 1e9;
    }
	while (t--)
	{
		int q;
		cin >> q;
		if (f[q] >= 1e9)
        {
            cout << "oo\n";
            continue;
        }
        cout << f[q] << "\n";
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...