站外题求助 帮助必壶关
  • 板块灌水区
  • 楼主shandianjianbing
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/12/23 21:47
  • 上次更新2024/12/24 16:25:00
查看原帖
站外题求助 帮助必壶关
1334033
shandianjianbing楼主2024/12/23 21:47

问题描述】

在游戏中的王国里,有n个城市,第i个城市有a[i]个士兵。现在为了加强国防,需要定一个城市为“首都”,当“首都”出现突发情况时,各城市的士兵都会赶来首都。对于第i和j个城市,它们的距离为|i-j|。现在,小明需要定首都,在突发情况时,使得每一个士兵赶到首都的路程之和最小。你能再帮帮小明吗?

【输入格式】

两行,第一行为一个正整数n,表示城市的总数;第二行为n个整数,代表每个城市的士兵数。

【输出格式】

输出两个整数,为每一个士兵赶到首都的路程之和的最小值,以及所选作为首都的城市的编号。

【输入样例1】

5

10 20 30 40 50

【输出样例1】

150 4

【输入样例2】

3

10 1 1

【输出样例2】

3 1

【输入样例3】

10

9 1 1 3 2 5 3 7 5 4

【输出样例3】

108 6

【样例说明】

样例1中,把4号城市定为首都,答案为:

a[1]×|1-4|+a[2]×|2-4|+a[3]×|3-4|+a[4]×|4-4|+a[5]×|5-4|=10×3+20×2+30×1+50×1=150,可以证明此为最小值。

样例2中,把1号城市作为首都,答案为 1×1+1×2=3。

【数据范围】

对于80%的数据,1≤n≤1000,1≤a[i]≤100;

对于100%的数据,1≤n≤1000000,1≤a[i]≤1000。

2024/12/23 21:47
加载中...