列表

详情


NC15524. 美

描述

最后,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

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 70ms, 内存消耗: 2148K, 提交时间: 2020-02-20 13:43:03

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	long long a[n];
	for(int i=0;i<n;i++)
	cin>>a[i];
	sort(a,a+n);
	long long ans=0;
	for(int i=0;i<n;i++)
	ans+=fabs(a[i]-a[n-1-i]);
	cout<<ans<<endl;
}

Python3(3.9) 解法, 执行用时: 123ms, 内存消耗: 16192K, 提交时间: 2022-04-21 14:59:14

N=int(input())
arr=list(map(int,input().split()))
arr.sort()
res=0
if N%2==0 :
    res=2*sum(arr[N//2:])-2*sum(arr[:N//2])
else :
    res=2*sum(arr[N//2+1:])-2*sum(arr[:N//2])
print(res)

Python(2.7.3) 解法, 执行用时: 157ms, 内存消耗: 11588K, 提交时间: 2018-04-21 20:14:14

n, a = input(), sorted(map(int, raw_input().split()))
i, j = 0, n - 1
s = 0
for k in xrange((n + 1) / 2):
    s += abs(a[i + k] - a[j - k])
print s * 2

上一题