[ali编程题练习] 国际交流会

最近小强主办了一场国际交流会,大家在会上以一个圆桌围坐在一起。由于大会的目的就是让不同国家的人感受一下不同的异域气息,为了更好地达到这个目的,小强希望最大化邻座两人之间的差异程度和。为此,他找到了你,希望你能给他安排一下座位,达到邻座之间的差异之和最大。输入描述:输入总共两行。 第一行一个正整数n,代表参加国际交流会的人数(即圆桌上所坐的总人数,不单独对牛牛进行区分) 第二行包含n个正整数,第i个正整数ai代表第i个人的特征值。 其中3 ≤ n ≤ 10^...
摘要由CSDN通过智能技术生成

        最近小强主办了一场国际交流会,大家在会上以一个圆桌围坐在一起。由于大会的目的就是让不同国家的人感受一下不同的异域气息,为了更好地达到这个目的,小强希望最大化邻座两人之间的差异程度和。为此,他找到了你,希望你能给他安排一下座位,达到邻座之间的差异之和最大。

输入描述:

 输入总共两行。
    第一行一个正整数n,代表参加国际交流会的人数(即圆桌上所坐的总人数,不单独对牛牛进行区分)
    第二行包含n个正整数,第i个正整数ai代表第i个人的特征值。
    其中3 ≤ n ≤ 10^5, 1 ≤ ai ≤ 10^9 (注意数据溢出)
 注意:邻座的定义为: 第i人(1<i<n)的邻座为i-1,i+1,第1人的邻座是2,n,第n人的邻座是1,n-1。
    邻座i,j的差异值计算方法为|ai-aj|。
    每对邻座差异值只计算一次。

输出描述:

    输出总共两行。
    第一行输出最大的差异值。
    第二行输出用空格隔开的n个数,为重新排列过的特征值。(注意:不输出编号)
    如果最大差异值情况下有多组解,输出任意一组即可。

输入

4
3 6 2 9

输出

20
6 2 9 3

说明

这么坐的话,差异和为|6−2∣+∣2−9∣+∣9−3∣+∣3−6∣= 20为最大的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值