PS
백준 10162. 전자레인지
tose33
2021. 8. 6. 15:02
https://www.acmicpc.net/problem/10162
10162번: 전자레인지
3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은
www.acmicpc.net
이전 동전문제 처럼 전형적인 그리디문제.
이전 동전문제와 유일하게 다른점은 3개의 버튼으로 정확히 시간을 맞출수 없으면 -1을 출력해야한다.
버튼시간만큼 t에서 빼는데 모든 계산이 끝난후 t가 0이 아니라면 -1을 출력하면된다.
#include <iostream>
using namespace std;
int t;
int button[3] = {300,60,10};
int main()
{
cin >> t;
int cnt[3] = {0,};
for(int i = 0; i < 3; i++)
{
while(t >= button[i])
{
t -= button[i];
cnt[i]++;
}
}
if(t == 0)
{
for(int i = 0; i < 3; i++)
cout << cnt[i] << ' ';
}
else
cout << -1;
}