Woburn Challenge 2015-16 Round 1 - Senior Division

It's no surprise that the Programming Enrichment Group at Woburn participates in a wide number of programming contests. However, not all contests are held at the same place (worry not – the Woburn Challenge finals will be held at a single location). In fact if too many people register for a contest, the contest organizers may even demand that the same contest be held in two entirely different towns! This will make it a lot harder for our young Woburnites to compete in the contest, but certainly won't stop them from trying.
There are
towns uniquely numbered with
integers from
to
, and
one-way roads
running amongst them. Specifically, the
-th road (for
)
allows one to travel from a town
to a different town
and has a distance of
kilometres. No two roads run between the same pair
of towns in the same direction. A very large programming contest is soon
to be held across two locations, with the main contest site located in
town
and the secondary contest site located in town
. A non-zero
number of Woburnites will be competing in this contest, with
of them living in town
(for each
).
Each competitor must select one of the two contest sites and travel
to it using a sequence of roads. This sequence is possibly empty, if
they're fortunate enough to live in the same town as their chosen
contest site.
There is a catch! Resources are limited at the second contest site, so
the contest organizers have insisted that no more than
of the competitors attend the secondary site (located in town
). Given that the Woburnites collaborate to come up with the best
travel strategy, you must help them determine the minimum total combined
distance that they must travel in order to all attend the contest, such
that no more than
of them travel to the secondary site.
In test cases worth 60% of the marks, .
In a subset of those cases worth 30% of the marks, (for
).
Input Specification
Line of input will contain three space-separated integers, the values
of
,
, and
, respectively representing the number of towns,
roads, and the maximum number of Woburnites that may attend the second
site.
There will be lines to follow. The
-th of these lines (for
) will contain a single integer
, representing the
number of Woburnites living in town
.
There will be lines to follow. The
-th of these lines (for
) will contain three space-separated integers, the values of
,
, and
representing the
-th one-way road.
Output Specification
The output should consist of a single integer. If it is possible for the
Woburnites to travel to all contest sites with no more than of them
attending the secondary site, then output the minimum total combined
distance that they must travel to do so. Output
-1
if it is impossible
for all of them to reach a contest site while satisfying the condition.
Please note that the answer may not necessarily fit in a 32-bit integer.
Sample Input
4 5 5
2
1
5
7
1 2 1
3 2 1
3 4 1
4 1 1
4 3 1
Sample Output
13
Explanation
There are towns and
roads between them. At most
people may attend
the second contest site. Each road happens to have a distance of
. An
optimal travel strategy is as follows.
- We let competitors from towns
and
attend the contest sites at their respective towns (incurring an additional
kilometres to our total distance).
- We let all
of our competitors from town
travel to the main contest site (incurring a total of
kilometres).
- We let
of the competitors from town
travel to the secondary contest site (incurring a total of
kilometres).
- We let the remaining competitor from town
must travel to the main site through town
(incurring an additional
kilometres to our total distance).
The total distance traveled across all of the competitors is
kilometres.
Comments