COCI '16 Contest 3 #3 Kroničan

View as PDF

Submit solution


Points: 10 (partial)
Time limit: 2.0s
Memory limit: 32M

Problem type

Little Mislav owns N glasses of infinite volume, and each glass contains some water. Mislav wants to drink all the water, but he doesn't want to drink from more than K glasses. What Mislav can do with the glasses is pour the total volume of water from one glass to another.

Unfortunately, it matters to Mislav what glass he picks, because not all glasses are equally distant to him. More precisely, the amount of effort it takes to pour water from glass labeled with i to glass labeled j is denoted with C_{ij}.

Help Mislav and find the order of pouring the water from one glass to another such that the sum of effort is minimal.

Input Specification

The first line of input contains integers N, K (1 \leq K \leq N \leq 20).

The following N lines contains N integers C_{ij} (0 \leq C_{ij} \leq 10^5).

The i^\text{th} row and j^\text{th} column contains value C_{ij}. It will hold that each C_{ii} is equal to 0.

Output Specification

Output the minimal effort needed for Mislav to achieve his goal.

Scoring

In test cases worth 40 points total, it will hold N \leq 10.

Sample Input 1

3 3
0 1 1
1 0 1
1 1 0

Sample Output 1

0

Explanation for Sample Output 1

Mislav doesn't need to pour water in order to drink from at most 3 glasses.

Sample Input 2

3 2
0 1 1
1 0 1
1 1 0

Sample Output 2

1

Explanation for Sample Output 2

Mislav must pour the water from precisely one (doesn't matter which) glass into any other glass in order to be left with only two glasses with water.

Sample Input 3

5 2
0 5 4 3 2
7 0 4 4 4
3 3 0 1 2
4 3 1 0 5
4 5 5 5 0

Sample Output 3

5

Explanation for Sample Output 3

In order for Mislav to achieve the minimal solution of 5, he can pour water from glass 4 to 3 (effort 1), then 35 (effort 2), and finally, 15 (effort 2). In total, 1 + 2 + 2 = 5 amount of effort.


Comments

There are no comments at the moment.