반응형
C++
#include <iostream>
using namespace std;
int main()
{
cin.tie(0)->sync_with_stdio(0);
int N, T[51] = {0, }, cnt = 0, i, idx;
cin >> N;
// 받을 개수가 하나라면 계산 없이 종료
if (N <= 1)
{
cout << '0';
return (0);
}
for (i = 0; i < N; i++)
cin >> T[i];
while (true)
{
int max = 0;
for (i = 1; i < N; i++)
// 인덱스 1 ~ N-1 중에서 가장 큰 값을 고른다.
if (max < T[i])
{
max = T[i];
idx = i;
}
// 가장 큰 값이 인덱스 0보다 작다면 종료.
if (T[0] > T[idx])
break;
// 종료되지 않으면, 가장 큰 값 -= 1, T[0] += 1, 매수회수 + 1
T[0]++;
T[idx]--;
cnt++;
}
cout << cnt;
}
반응형