The traveling salesman has decided that optimally scheduling his trips on land is an intractable
computational problem, so he is moving his business to the linear world of the Danube River. He
has a very fast boat that can get him from anywhere to anywhere along the river in no time, but
unfortunately the boat has terrible fuel consumption. It costs the salesman
dollars for every
meter traveled upstream (towards the source of the river) and
dollars for every meter traveled
downstream (away from the source of the river).
There are
trade fairs that the salesman would like to visit along the river. Each trade fair is
held for one day only. For each trade fair
, the traveling salesman knows its date
, measured
in the number of days since he purchased his boat. He also knows the fair's location
,
measured as the distance in meters from the source of the river downstream to the fair, as well
as the number of dollars
that the salesman is going to gain if he attends this trade fair. He
has to start and end his journey at his waterfront home on the river, which is at location
,
measured also in meters downstream from the source of the river.
Help the traveling salesman choose which trade fairs to attend (if any) and in what order, so that he may maximize his profit at the end of his travels. The traveling salesman's total profit is defined as the sum of the dollars he gained at the fairs he attended, minus the total sum of dollars he spent traveling up and down the river.
Keep in mind that if trade fair
is held earlier than trade fair
, the salesman can visit them only
in this order (i.e., he cannot visit
and then visit
). However, if two fairs are held on the same
date, the salesman can visit them both in any order. There is no limit to how many fairs the
salesman can visit in a day, but naturally he can't visit the same fair twice and reap the gains
twice. He can pass through fairs he has already visited without gaining anything.
Write a program that, given the date, location and profitability of all fairs, as well as the location of the traveling salesman's home and his costs of traveling, determines the maximum possible profit he can make by the end of his journey.
- the number of fairs
- the cost of traveling one meter upstream (
) or downstream (
)
- the location of the salesman's home
- the day on which fair
is held
- the location of fair 
- the number of dollars salesman would earn if he attends fair
Twój program powinien wczytać ze standardowego wejścia następujące dane:
,
,
and
, in this order, separated by single spaces.
lines describe the
fairs in no particular order. The
th of these
lines describes
the
th fair and contains three integers separated by single spaces: the day of the fair
, its
location
, and its profitability for the salesman
.
Note: All locations given in the input will be different. That is to say, no two fairs will happen at the same location and no fair will happen at the salesman's home.
Your program must write to standard output a single line containing a single integer: the maximum profit the salesman can possibly make by the end of his journey.
For a number of tests, worth a total of 60 points, no two fairs will be held on the same day.
For a number of tests, worth a total of 40 points, none of the numbers in the input will exceed
.
The tests where both of the above conditions hold are worth 15 points.
The tests where at least one of the two conditions holds are worth 85 points.
For the input data:
4 5 3 100 2 80 100 20 125 130 10 75 150 5 120 110
the correct result is:
50
Explanation of the example: An optimal schedule would visit fairs 1 and 3 (the ones at locations 80 and 75). The sequence of events and their associated profits and costs would be as follows:
In the event of technical difficulties with Szkopuł, please contact us via email at szkopul@fri.edu.pl.
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.