티스토리 뷰

https://www.acmicpc.net/problem/11047

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net

#include<iostream>
using namespace std;
int main(void) {
	int N, K;//동전이 몇종류인지, 만드려는 금액
	int answer = 0;

	//입력 (동전 갯수, 원하는 금액, 각동전금액[오름차순])
	cin >> N >> K;
	int *p = new int[N];
	for (int i = 0; i < N; i++)
		cin >> p[i];

	//금액이 양수인 동안 -> 큰 동전부터 넣기 -> 동전 넣는 순간 금액은 -
	while (K > 0) {
		for (int i = N - 1; i >= 0; i--) {
			if (p[i] <= K) {
				K -= p[i];
				answer++;
				break;
			}
		}
	}

	//정답 출력
	cout << answer;
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함