青少年编程知识记录 codecoming

【题解】山区建小学

【题目描述】

政府在某山区修建了一条道路,恰好穿越总共个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为(为正整数),其中,。为了提高山区的文化素质,政府又决定从个村中选择个村建小学(设。请根据给定的以及所有相邻村庄的距离,选择在哪些村庄建小学,才使得所有村到最近小学的距离总和最小,计算最小值。

【输入】

第1行为,其间用空格间隔

第2行为 个整数,依次表示从一端到另一端的相邻村庄的距离,整数之间以空格间隔。

例如:

10 3  2 4 6 5 2 4 3 1 3

表示在个村庄建所学校。第个村庄与第个村庄距离为,第个村庄与第个村庄距离为,第个村庄与第个村庄距离为,...,第个村庄到第个村庄的距离为

【输出】



各村庄到最近学校的距离之和的最小值。

【输入样例】

10 2  3 1 3 1 1 1 1 1 3

【输出样例】

18





(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: