苹果
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 39(24 users) Total Accepted: 29(22 users) Rating: Special Judge: No
Description

圆桌旁围坐n个人,按顺序将他们编号为1~n,第i个人有xi个苹果(i=1,2,...,n)。苹果的总数量为A。数据保证A为n的倍数,且v=A/n。

每个人可以给左右相邻的人苹果,直到每个人手上的苹果数为平均值v。

输出需要转移的苹果数量的最小值。

Input

有多组测试数据。

每组测试数据的第一行为正整数n(n<=10^6),接下来有n行,每行一个整数,逆时针给出初始状态每人手中的苹果数xi。

处理到文件结束。

Output

对每组测试数据,输出转移苹果数量的最小值,每组一行。数据保证输出为64位无符号整数范围内。

Sample Input
3
100
100
100
4
1
2
5
4
Sample Output
0
4
Source
"科林明伦杯"哈尔滨理工大学第四届ACM程序设计竞赛(预选赛)
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
/*
能两边给,那么x1可以给x2,x2也可给x1,绝对值就是|x1-x2|,我们假设逆时针顺序x2给x1,就相当于x2给了x1了a2(a2正负都OK)个苹果,那个x1就有:A1+a2-a1=m,A2+a3-a2=m......
a2=m-A1+a1 a3=m-A2+a2=2m-A1-A2+a1 a4=3m-A1-A2-A3+a1.......
由于A1,A2和m都是给定的,所以影响的只有a,也就是指a1.
Ci指Ai-M
那么a2=a1-C1,a3=a1-C2,a4=a1-C3
使ai的绝对值最小,则转换成一条直线上的点到某点上的距离之和最小的问题
则a1为这些数的中位数
*/
int A[1000001],C[1000001];
int main()
{
int n,sum;
while(~scanf("%d",&n)){
long long int sum=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&A[i]);
sum+=A[i];
}
int v=sum/n;
/*计算Ci,写写方程代代看看*/
C[0]=0;
for(int i=1;i<=n;i++)
{
C[i]=A[i]-v+C[i-1];
}
/*求和*/
sort(C+1,C+1+n);
long long int s=0;
for(int i=1;i<=n/2;i++)
{
s=s+C[n+1-i]-C[i];
}
printf("%lld\n",s);
}
return 0;
}
 
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<algorithm>
using namespace std;
int a[1000005],c[1000005];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
long int sum=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
}
int m=sum/n;
c[0]=0;
for(int i=1;i<=n;i++)
c[i]=m+c[i-1]-a[i];
sort(c+1,c+n+1); long int num=0;
int temp=c[n/2+1];
for(int i=1;i<=n;i++)
{
num=num+abs(c[i]-temp); }
printf("%ld\n",abs(num));
}
return 0;
}
 

HLG2081分苹果的更多相关文章

  1. COJN 0583 800602分苹果

    800602分苹果 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放, ...

  2. C语言 · 分苹果

    算法提高 分苹果   时间限制:1.0s   内存限制:256.0MB      问题描述 小朋友排成一排,老师给他们分苹果. 小朋友从左到右标号1..N.有M个老师,每次第i个老师会给第Li个到第R ...

  3. 蓝桥杯 算法训练 ALGO-121 猴子分苹果

      算法训练 猴子分苹果   时间限制:1.0s   内存限制:256.0MB 问题描述 秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分.这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果 ...

  4. nyoj_758_分苹果

    分苹果 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (注意:假如有3个盘子7 ...

  5. Java实现 蓝桥杯VIP 算法训练 猴子分苹果

    问题描述 秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分.这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果.第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一 ...

  6. Java实现 蓝桥杯VIP 算法提高 分苹果

    算法提高 分苹果 时间限制:1.0s 内存限制:256.0MB 问题描述 小朋友排成一排,老师给他们分苹果. 小朋友从左到右标号1-N.有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li ...

  7. ALGO-121_蓝桥杯_算法训练_猴子分苹果

    问题描述 秋天到了,n只猴子采摘了一大堆苹果放到山洞里,约定第二天平分.这些猴子很崇拜猴王孙悟空,所以都想给他留一些苹果.第一只猴子悄悄来到山洞,把苹果平均分成n份,把剩下的m个苹果吃了,然后藏起来一 ...

  8. POJ 1644 分苹果 (递归解法)

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t(0 <= t < ...

  9. Zookeeper(一)从抽屉算法到Quorum (NRW)算法

    一.抽屉算法 抽屉算法,又名鸽巢原理,它是德国数学家狄利克雷首先明确的提出来并用以证明一些数论中的问题,因此,也称为狄利克雷原则.它是组合数学中一个重要的原理. 具体算法讲的是: 第一抽屉算法: 如果 ...

随机推荐

  1. [wikioi 1519]过路费(最小生成树+树链剖分)

    题目:http://www.wikioi.com/problem/1519/ 题意:给你一个连通的无向图,每条边都有权值,给你若干个询问(x,y),要输出从x到y的路径上边的最大值的最小值 分析:首先 ...

  2. 《TCP/IP详解卷1:协议》第17、18章 TCP:传输控制协议(2)-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  3. 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)

    IsMdicontainer的设置 这是对于整个窗体的设置,将一个窗体的IsMdicontainer设置为true之后,再打开新窗体便可以让新窗体被父容器包括在内. 操作方法: 1)先建立一个子窗体C ...

  4. JSP页面的中文乱码

    jsp页面显示中文乱码:    jsp页面的编码方式有两个地方需要设置:   <%@ page language="java" import="java.util. ...

  5. 史上最全的javascript知识点总结,浅显易懂。

    来源于:http://blog.csdn.net/qiushi_1990/article/details/40260471 一,认识javascript1-1为什么学习JavaScript一).你知道 ...

  6. simple-LDAP-auth

    <?php /** * simple class for LDAP authentification * Copyright (C) 2013 Petr Palas This program i ...

  7. ORACLE建表练习

    1,学生表 -- Create table create table T_HQ_XS ( xueh ) not null, xingm ) not null, xingb ) ', nianl NUM ...

  8. WPF学习(三)--Menu、TabControl和DataGrid控件介绍

    Menu Menu提供了菜单栏方式的多级菜单的管理和操作: 这里对Menu的样式不做任何的定制和管理 下面来对Menu进行测试: 将Menu添加到页面中 运行后,效果如下: 这里没有考虑界面效果和样式 ...

  9. Java-优化技术

    常用的: 1.优化循环.通过重新组织重复的子表达式来提高循环体的运行性能. 2减少使用对象的数量来提高运行性能. 3.缩减网络传输数据来缩短等待时间. 其他: 1.采用对象池技术,提高对象的利用效率. ...

  10. bzoj 2815 灾难

    首先假设我们定义x灭绝后y会灭绝,那么离y最近的x就为y的父亲节点,那么如果我们可以求出每个节点的父亲节点,我们就得到了一棵树,然后每个节点的灾难值就是子树的大小-1. 我们将出度数为0的节点的父亲节 ...