A1564.[COCI-2016_2017-contest3]#2 Kronican

普及/提高-

COCI

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

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 Cij..
Help Mislav and find the order of pouring the water from one glass to another such that the sum of effort is minimal.

输入格式

The first line of input contains integers N, K (1 ≤ K ≤ N ≤ 20).
The following N lines contains N integers Cij (0 ≤ Cij ≤ 10^5 ). The i^th row and j^th column contains value Cij . It will hold that each Cii is equal to
0.

输出格式

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

输入输出样例

  • 输入#1

    3 3 
    0 1 1 
    1 0 1 
    1 1 0

    输出#1

    0
  • 输入#2

    3 2 
    0 1 1 
    1 0 1 
    1 1 0

    输出#2

    1
  • 输入#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

    输出#3

    5

说明/提示

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

Clarification of the first test case: ​Mislav doesn’t need to pour water in order to drink from at most 3
glasses.
Clarification of the second test case: ​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.
Clarification of the third test case: ​In order for Mislav to achieve the minimal solution of 5, he can
pour water from glass 4 to 3 (effort 1), then 3 -> 5 (effort 2), and finally, 1 -> 5 (effort 2). In total, 1 + 2 + 2
= 5 amount of effort.

首页