백준 11047 c++
#include <iostream>
using namespace std;
int input(int lower, int upper)
{
//cout << "input()" << endl;
int A;
while (1)
{
cin >> A;
if (A >= lower && A <= upper)
{
break;
}
else
{
;
}
}
return A;
}
void input_arr(int* A, int N)
{
//cout << "input_arr()\n";
int i, temp;
A[0] = input(1, 1000000);
for (i = 1; i < N; i++)
{
temp = input(1, 1000000);
if (temp % A[i - 1] == 0 && temp > A[i-1])
{
A[i] = temp;
}
else
{
i--;
}
}
return;
}
int find_result(int* A, int N, int K)
{
//cout << "find_result()\n";
int i;
int count = 0;
int temp;
for (i = N - 1; i >= 0; i--)
{
temp = K / A[i];
count = count + temp;
K = K % A[i];
}
return count;
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, K;
int* A;
N = input(1, 10);
K = input(1, 100000000);
A = new int[N];
input_arr(A, N);
cout << find_result(A, N, K) << "\n";
delete[] A;
return 0;
}