首页 > 其他 > 详细

牛客小白月赛2 J 美 【构造】

时间:2018-07-31 23:05:11      阅读:199      评论:0      收藏:0      [点我收藏+]

链接:https://www.nowcoder.com/acm/contest/86/J
来源:牛客网

题目描述

最后,Sεlιнα(Selina) 开始了选美大赛。 一如既往地,Sεlιнα 想最大化自己的愉悦度。她品味十分独特,对“美”有自己独到的见解。 她给每位经过层层选拔来到这一关的参赛男友都定义了一个帅气值 技术分享图片 。Sεlιнα 需要将这些参赛者排成一排,她对于这个排列的“美”值的定义是: 
技术分享图片
其中 技术分享图片 表示排列中第 技术分享图片 个人的帅气值。特别地,当 技术分享图片 时,有 技术分享图片
她依旧想使自己获得最大的愉悦值,所以她要使这个排列的 技术分享图片 值尽可能地大。聪明的你,快来告诉 Sεlιнα,这个最大的值是多少。 

输入描述:

第一行一个整数 技术分享图片 ,表示有 技术分享图片 个男友。
第二行 技术分享图片 个整数,第 技术分享图片 个数表示值 技术分享图片 。 

输出描述:

输出共一行,一个整数,表示最大的 
技术分享图片
 值。 
示例1

输入

复制
5
7 3 15 12 8

输出

复制
34
示例2

输入

复制
7
-2 0 8 9 -5 3 10

输出

复制
68

备注:

技术分享图片

技术分享图片
 
思路:
构造法,按照 最大数,最小数,次大数,次小数。。。。k大数,k小数 构造序列
 
AC码:
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cmath>
 4 using namespace std;
 5 int a[100010];
 6 int p[100010];
 7 int main()
 8 {
 9     int n;cin>>n;
10     for(int i=0;i<n;i++)cin>>a[i];
11     sort(a,a+n);
12     int pn=0;
13     int i=n-1,j=0;
14     while(j<i){
15         p[pn++]=a[i--];
16         p[pn++]=a[j++];
17     }
18     p[pn++]=a[i];
19     long long ans=0;
20     ans+=abs(p[0]-p[n-1]);
21     for(int i=1;i<n;i++){
22         ans+=abs(p[i]-p[i-1]);
23     }
24     cout<<ans<<endl;
25     return 0;
26 }

 

牛客小白月赛2 J 美 【构造】

原文:https://www.cnblogs.com/TianyuSu/p/9398517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!