牛客小白月赛2 J 美 【构造】
2024-08-26 23:36:38
链接:https://www.nowcoder.com/acm/contest/86/J
来源:牛客网
题目描述
最后,Sεlιнα(Selina) 开始了选美大赛。 一如既往地,Sεlιнα 想最大化自己的愉悦度。她品味十分独特,对“美”有自己独到的见解。 她给每位经过层层选拔来到这一关的参赛男友都定义了一个帅气值 。Sεlιнα 需要将这些参赛者排成一排,她对于这个排列的“美”值的定义是:
其中 表示排列中第 个人的帅气值。特别地,当 时,有 。
她依旧想使自己获得最大的愉悦值,所以她要使这个排列的 值尽可能地大。聪明的你,快来告诉 Sεlιнα,这个最大的值是多少。
输入描述:
第一行一个整数 ,表示有 个男友。
第二行 个整数,第 个数表示值 。
输出描述:
输出共一行,一个整数,表示最大的
值。
输入例子:
5
7 3 15 12 8
输出例子:
34
-->
备注:
思路:
构造法,按照 最大数,最小数,次大数,次小数。。。。k大数,k小数 构造序列
构造法,按照 最大数,最小数,次大数,次小数。。。。k大数,k小数 构造序列
AC码:
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int a[];
int p[];
int main()
{
int n;cin>>n;
for(int i=;i<n;i++)cin>>a[i];
sort(a,a+n);
int pn=;
int i=n-,j=;
while(j<i){
p[pn++]=a[i--];
p[pn++]=a[j++];
}
p[pn++]=a[i];
long long ans=;
ans+=abs(p[]-p[n-]);
for(int i=;i<n;i++){
ans+=abs(p[i]-p[i-]);
}
cout<<ans<<endl;
return ;
}
最新文章
- 一个轻量级分布式RPC框架--NettyRpc
- npm全局安装和本地安装和本地开发安装(npm install --g/--save/--save-dev)
- poj 1789
- Java for LeetCode 214 Shortest Palindrome
- HTML基础第二天知识点整合
- CoreLocation框架的使用---定位,求两地距离
- RequireJS实例分析
- [翻译]AlphaGO留给我们的东西
- 【初识——最大流】 hdu 1532 Drainage Ditches(最大流) USACO 93
- Android进阶笔记04:Android进程间通讯(IPC)之Messenger
- mybatis06 增删改差 源码
- C语言笔记(二维数组与数值指针)
- 基于Redis的CAS服务端集群
- 变相的取消Datagridview控件的选中状态
- ZOJ 3795 Grouping 求最长链序列露点拓扑
- UNIX网络编程——套接字选项(setsockopt)
- .NetCore采取JWT方式进行身份认证
- Technocup 2019 - Elimination Round 1
- Oracle 11g 单实例到单实例OGG同步实施文档-RMAN 初始化
- C语言之建立线性表