zoukankan      html  css  js  c++  java
  • 牛客小白月赛2 J 美 【构造】

    链接: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 }
  • 相关阅读:
    支付系统
    在Ubuntu 14.04 64bit上安装百度云Linux客户端BCloud
    spring data jpa update
    多数据源springboot-jta-atomikos
    rabbitMQ 的基本知识
    java 调用短信 api 接口发送短信
    springboot整合ribbitMQ
    【RabbitMQ】ubuntu下RabbitMQ安装与简单使用
    @Slf4j注解
    quartz 定时任务的增删改
  • 原文地址:https://www.cnblogs.com/TianyuSu/p/9398517.html
Copyright © 2011-2022 走看看