이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int M = 1e5 + 4;
const int N = 1e7 + 3;
const int inf = 1e9;
int p[M], dp[N], d[N];
int m, q;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> m >> q;
for(int i = 1; i <= m; i++)
{
cin >> p[i];
}
for(int i = 1; i <= m; i++)
{
int j = p[i];
while(j < N)
{
d[j] = max(d[j], p[i]);
j += p[i];
}
}
d[0] = p[m];
int j = 0;
for(int i = 1; i < N; i++)
{
while(j + d[j] - 1 < i)
{
j++;
}
// if(i <= 5)
// cout << i << ' ' << j << '\n';
if(j >= i)
dp[i] = inf;
dp[i] = dp[j] + 1;
}
while(q--)
{
int x;
cin >> x;
if(dp[x] >= inf)
cout << "oo\n";
else
cout << dp[x] << '\n';
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |