Delivery Driver
면접 대비시간 제한1초메모리 제한2048 MB
매일 세 도시 중 한 곳을 골라 일하며, 연속한 두 날에 도시가 바뀌면 이동 비용을 내고 총이익을 최대로 만든다.
문제
As a delivery driver for a food delivery service, you can work in one of three different cities each day: Denver, Ft. Collins, or Colorado Springs.
While working for the past few years, you have collected data on your net profit from working in each city and applied a predictive machine learning model that allows you to know exactly how much net profit you can make from working in each city for the next days.
The model shows that you can make different amounts of money on each day, depending on the location. Naturally, you want to work in the city where you can make the most money each day. However, driving from one city to the next is not without cost, so in some cases it may be better to stay where you are and make slightly less but not have to drive to a different city.
The cost to drive between cities ( and ) is given by , a constant representing how costly it is to drive from to . Note that is always equivalent to .
You want to determine which city to work in on each of the next days such that your total net profit across all of the days is maximized. (Net profit is calculated by taking the total earnings and subtracting both the operating costs for each day as well as any transition costs incurred by driving between cities.)
Consider the following example (which describes the first sample input). You are planning for the next days and have calculated the profit you could make in each of the cities as shown in the table below:
Further, assuming that \begin{align*} T(\text{Denver}, \text{Ft. Collins}) &= \20, \\\ T(\text{Denver}, \text{Colorado Springs}) &= \\17, \text{and} \\ T(\text{Colorado Springs}, \text{Ft. Collins}) &= \34, \end{align\*} if you choose to work from Denver on day 123, then your total net profit would be: \begin{align\*} P\_\text{total} &= \underbrace{\\251}_\text{Day profit} - \underbrace{\17}\_\text{Denver to Colorado Springs} + \underbrace{\\151}_\text{Day profit} + \underbrace{\402}\_\text{Day 3 profit} = \\787 \end{align*} whereas if you chose to work from Denver on day , Colorado Springs on day , and Ft. Collins on day , then your total net profit would be: \begin{align*} P_\text{total} &= \underbrace{\251}\_\text{Day 1 profit} - \underbrace{\\17}_\text{Denver to Colorado Springs} + \underbrace{\151}\_\text{Day 2 profit} - \underbrace{\\34}_\text{Colorado Springs to Ft. Collins} + \underbrace{\410}\_\text{Day 3 profit} = \\761. \end{align*}
Clearly, the first option is better! Even though it may be tempting to go to Ft. Collins on Day , the cost of driving there from Colorado Springs is too great.
Can you write a program which tells you which city to work from for each of the next days such that total net profit across all of the days is maximized? Note that you can start and end in any city you wish, and the start and end cities do not have to be the same.
입력
The first line contains three, space-separated integers representing the values of , , and , respectively.
The next line contains a single integer , the number of days that you have to plan for.
The next lines contain a list of space-separated integers representing the potential profit for the next days in Denver, Ft. Collins, and Colorado Springs, respectively.
All monetary numbers will be integers between and .
출력
The first and only line of output is the maximum total net profit across all days in dollars.