Skip to main content

2979. 트럭 주차

문제

상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다.

상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인해 준다.

트럭을 한 대 주차할 때는 1분에 한 대당 A원을 내야 한다. 두 대를 주차할 때는 1분에 한 대당 B원, 세 대를 주차할 때는 1분에 한 대당 C원을 내야 한다.

A, B, C가 주어지고, 상근이의 트럭이 주차장에 주차된 시간이 주어졌을 때, 주차 요금으로 얼마를 내야 하는지 구하는 프로그램을 작성하시오.

예제 입력

5 3 1
1 6
3 5
2 8

예제 출력

33
참고

문제 전문은 여기에서 읽으실 수 있습니다.

풀이

접근법

  1. 배열 하나에 몇 대가 있는지를 저장합니다.
  2. 요금 계산 시, 차가 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;
}