ACM集训队每周程序设计竞赛-2-D-志愿者排排站

你是一个新兴的慈善组织的成员,这个组织每年会举办一次慈善集会。今年,你们计划邀请
N个志愿者参加集会,每个志愿者都有一个友好值

为了让集会更有组织性,你决定制定以下规则:每个志愿者到达现场时,他们必须与已经到达的志愿者站在一个圆圈里,新到达的志愿者必须在圆圈中的某个位置加入。

每个志愿者(除了第一个到达的志愿者)到达现场后,都会和圆圈上顺时针与逆时针相邻的两个志愿者进行合作,此时该志愿者的合作度等于相邻志愿者中友好值较小的那个(第一个到达的志愿者的合作度为 0 )。

现在,你需要确定一个到达顺序和加入位置方案,使得所有志愿者在集会上的合作度总和最大。请你求出这个最大的合作度总和。
输入
输入共两行,
第一行包含一个正整数
N

第二行包含
N 个空格间隔的正整数

输出
输出共一行,
包含一个正整数表示最大的合作度总和
样例输入
4
2 2 1 3
样例输出
7

按从大到小排序,大的先插入,插在大的之间

例:5 4 3 2 1
5 4,在5 4之间插入3,再在5 3 之间插入 2,再 在 4 3之间插入 1
#include<iostream>
#include<string.h>
#inc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值