博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tyvj1294 小v的舞会
阅读量:4660 次
发布时间:2019-06-09

本文共 1117 字,大约阅读时间需要 3 分钟。

背景

"梦中伊人,断我男儿几寸柔肠,于断桥,不知西风自憔悴那姑娘。"小v的梦中伊人要带领一大帮姐妹MM们来小v家举办舞会,然而怎么安排跳舞的顺序成了大问题,你能帮他么?

描述

有n个MM要站成若干个圈来跳华尔兹,而每个MM都有一个漂亮值Si,跳舞时第i个MM所表现出来的漂亮值为:该MM的漂亮值与其后面MM的漂亮值之差的绝对值(规定顺时针方向为向后),如果某个MM单独站成一个圈(假设能站成),则其漂亮值为0,你的任务是找出这个最大能表现出的漂亮值。

输入格式

第一行一个整数n,表示n个MM
第二行n个整数,第i个整数表示第i个MM的漂亮值

输出格式

一行一个整数,表示能表现出的最大漂亮值

测试样例1

输入

12 11 24 17 12 24 

输出

60

备注

数据范围:
对于10%的数据,0<n<=10,0<Si<=100
对于40%的数据,0<n<=50,0< Si <=1000
对于100%的数据,0<n<=300,0<Si<=1000000
结果保证不大于2^31.
//贪心,取两头,怎么证明我不懂#include
#include
#include
#include
#include
#define ll long longusing namespace std;ll n,a[10005],b[10005],sum;int main(){ cin>>n; for(int i = 1;i <= n;i++) scanf("%lld",&a[i]); sort(a+1,a+1+n); int l = 1,r = n,opt = 0; for(int i = 1;i <= n;i++){ if(!opt) b[i] = a[l++]; else b[i] = a[r--]; opt ^= 1; } b[0] = b[n]; for(int i = 1;i <= n;i++){ if(b[i] > b[i-1]) sum += b[i] - b[i-1]; else sum += b[i-1] - b[i]; } cout<

 

转载于:https://www.cnblogs.com/hyfer/p/5791423.html

你可能感兴趣的文章
php和mysql中uft-8中文编码乱码的几种解决办法
查看>>
关于AJAX
查看>>
不同版本Hibernate.获取SessionFactory的方式
查看>>
数据结构之有关图的算法(图的邻接表示法)
查看>>
js checkbox
查看>>
今天自学了网页上注册某某时的倒计时设置
查看>>
linux 命令记录
查看>>
今早一来打开IDEA,Edit Configyration 找不到Tomcat
查看>>
Intro. to LDA
查看>>
jQuery基础--基本概念
查看>>
linux 卸载 umount 提示device is busy
查看>>
优先队列的一种实现方式——堆
查看>>
iperf网络测试
查看>>
导航菜单的实现
查看>>
python模块
查看>>
Django 删除 migrations
查看>>
简单搭建WEB框架及原理
查看>>
Java网络编程三--基于TCP协议的网络编程
查看>>
Html中判断复选框是否选中
查看>>
jquery加载页面的方法
查看>>