- 난이도: 실버 2
- 알고리즘: 그리디 알고리즘
이 문제도 버스타고 가는 길에 풀었다. 사실상 거스름돈 문제의 일반화 버전이라.. 코드도 정말 쉽게 짰다.
#include <iostream>
#include <vector>
using namespace std;
int main(void) {
int n, k;
cin >> n >> k;
vector<int> vec;
for (int i=0; i<n; i++) {
int tp;
cin >> tp;
vec.emplace_back(tp);
}
int cnt = 0;
for (int i=0; i<n; i++){
while (k >= vec[n-1-i]) {
k -= vec[n-1-i];
cnt++;
}
}
cout << cnt;
}