제출 #155722

#제출 시각아이디문제언어결과실행 시간메모리
155722souhhcongBrunhilda’s Birthday (BOI13_brunhilda)C++14
20 / 100
1100 ms213852 KiB
#include <iostream> #include <string.h> using namespace std; const int N = 1e5+5, MAXN = 1e7+7, INF = 1e9+9; int n, q, x, p[N], dp[MAXN]; int solve(int x) { //cout << x << endl; if (dp[x] != -1) return dp[x]; int mn = INF; for (int i = 0; i < n; i++) { if (x < p[i]) { dp[x] = 1; return dp[x]; } if (x % p[i] == 0) continue; mn = min(mn,solve(x-(x%p[i]))+1); } dp[x] = mn; return dp[x]; } int main() { memset(dp,-1,sizeof dp); cin >> n >> q; for (int i = 0; i < n; i++) { cin >> p[i]; } while(q--) { cin >> x; solve(x); if (dp[x] == INF) cout << "oo\n"; else cout << dp[x] << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...