烽火传递
成绩 | 100 | 开启时间 | 2016年05月31日 星期二 15:50 |
折扣 | 0.8 | 折扣时间 | 2016年05月31日 星期二 15:50 |
允许迟交 | 是 | 关闭时间 | 2016年05月31日 星期二 15:50 |
输入文件 | balefire.in | 输出文件 | balefire.out |
【题目描述】烽火传递(balefire.c/cpp/pas)
上古文明遗迹内有一种奇怪的力场,它使得所有的魔法力都无法使用,为了通信方便,墨老师一行不得不采用古代烽火传递的方法。所谓烽火传递,是指在远古时代,防御外敌入侵的方法是使用烽火台报讯。烽火台又称烽燧,一般建在险要处或交通要道上。一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息;夜晚燃烧干柴,以火光传递军情。在某两座城市之间有n个烽火台,每个烽火台发出信号都有一定的代价。为了使情报准确地传递,在m个烽火台中至少要有一个发出信号。现输入n,m和每个烽火台发出的信号的代价,请计算总共最少需要花费多少代价,才能使敌军来袭之时,情报能在这两座城市之间准确地传递。
例如,有5个烽火台,它们发出信号的代价依次为1、2、5、6、2,且m为3,则总共最少花费的代价为4,即由第2个和第5个烽火台发出信号。
【输入格式】
第一行有两个数n,m分别表示n个烽火台,在m个烽火台中至少要有一个发出信号。
第二行为n个数,表示每一个烽火台的代价。
【输出格式】
一个数,即最小代价。
【输入样例】
5 3 (n,m≤100)
1 2 5 6 2
【输出样例】
4