WC '15 Contest 1 S3 - Contest Sites
View as PDFWoburn 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