import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Truck_Parking {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int[] fee = new int[3];// 주차요금 배열
for (int i = 0; i < 3; i++) {
fee[i] = Integer.parseInt(st.nextToken());
}
int[][] time = new int[3][2]; //A,B,C 각각 시작 시간, 끝 시간 담는 배열
for (int i = 0; i < 3; i++) {
st = new StringTokenizer(br.readLine());
for (int j = 0; j < 2; j++) {
time[i][j] = Integer.parseInt(st.nextToken());
}
}
int count = 0; //차량 개수
boolean[] start = new boolean[3];
boolean[] end = new boolean[3];
int sum =0;
for (int i = 1; i <= 100; i++) {// 시간
for (int j = 0; j < 3; j++) {
if(!start[j] && time[j][0]<=i){// 시작시간이면 count 증가
count++;
start[j] = true;
}
if(!end[j]&&time[j][1]<=i){ //끝시간이면 count 감소
count--;
end[j] = true;
}
}
if(count==1){ //매 초마다 요금 계산
sum += fee[0]*count;
}
else if(count==2){
sum += fee[1]*count;
}
else if(count==3){
sum += fee[2]*count;
}
if(end[0]&&end[1]&&end[2]){// 차량 3대 다 끝시간 지나면 출력
System.out.println(sum);
return;
}
}
}
}
시간을 1초씩 증가하며, 매초마다 현재 주차된 차량을 세고, 그에따른 요금을 sum에 더해준다.
낮은 티어의 문제인데, 생각보다 어려웠다.
계산조건이 간단해서 그렇지, 탐색하는 방법을 설계하는것이 쉽지 않았다