# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1087176 | Staheos | 은행 (IZhO14_bank) | C++14 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>using namespace std;int main(){ int n, m; cin >> n >> m; auto a = new int[n]; auto b = new int[m]; auto dp = new int[1005]; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < m; i++) {cin >> b[i];} for (int i = 1; i < 1005; i++) {dp[i] = -1;} dp[0] = 0; for (int i = 1; i < 1005; i++) { for (int j = 0; j < m; j++) { if (i < b[m]) { continue; } if (dp[i - b[m]] == -1) { continue; } if (dp[i] == -1) { dp[i] = dp[i - b[m]] + 1; } else if (dp[i] > dp[i - b[m]] + 1) { dp[i] = dp[i - b[m]] + 1; } } } for (int i = 0; i < n; i++) { cout << dp[a[i]] << '\n'; }}