2979. 트럭 주차
문제
상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다.
상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인해 준다.
트럭을 한 대 주차할 때는 1분에 한 대당 A원을 내야 한다. 두 대를 주차할 때는 1분에 한 대당 B원, 세 대를 주차할 때는 1분에 한 대당 C원을 내야 한다.
A, B, C가 주어지고, 상근이의 트럭이 주차장에 주차된 시간이 주어졌을 때, 주차 요금으로 얼마를 내야 하는지 구하는 프로그램을 작성하시오.
예제 입력
5 3 1
1 6
3 5
2 8
예제 출력
33
참고
문제 전문은 여기에서 읽으실 수 있습니다.
풀이
접근법
- 배열 하나에 몇 대가 있는지를 저장합니다.
- 요금 계산 시, 차가 3대 있으면 3대 있을 때 1대 당 요금 * 3 을 하는 방식으로 계산해 주어야 합니다.
구현 코드
# include <bits/stdc++.h>
using namespace std;
int a, b, c, ans;
int t[105];
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> a >> b >> c;
int T = 3;
while (T--)
{
int d, e;
cin >> d >> e;
for (int i = d; i < e; i++)
{
t[i]++;
}
}
for (int i = 0; i < 105; i++)
{
switch(t[i])
{
case 1:
ans += a;
break;
case 2:
ans += b * 2;
break;
case 3:
ans += c * 3;
break;
}
}
cout << ans;
return 0;
}