609C Load Balancing

题意:

”平均数“的意思是:最大数和最小数之间的差值为0或1;

先求“平均”数组,再相减。

 1 #include<iostream>
 2 #include<cstdlib>
 3 #include<cstdio>
 4 #include<algorithm>
 5 #include<math.h>
 6 #include<memory.h>
 7 #define clc(a,b) memset(a,b,sizeof(a))
 8 #define ll long long int
 9 using namespace std;
10
11 int n;
12 int a[100010];
13
14 int main()
15 {
16     while(~scanf("%d",&n))
17     {
18         clc(a,0);
19         ll sum=0;
20         ll ans=0;
21         for(int i=0; i<n; i++)
22         {
23            scanf("%d",&a[i]);
24            sum+=a[i];
25         }
26         sort(a,a+n);
27         if(sum%n==0)
28         {
29             int ave=sum/n;
30             for(int i=0;i<n;i++)
31                   ans+=fabs(ave-a[i]);
32              ans=ans/2;
33         }
34         else
35         {
36             ll res=sum%n;
37             ll ave=(sum-res)/n;
38             //int vv=ave;
39             int b[100010];
40             //memset(b,ave,sizeof(b));
41             for(int i=0;i<n;i++)
42                 b[i]=ave;
43 //            cout<<ave<<endl;
44 //            cout<<b[1]<<endl;
45             for(int i=n-1;i>n-1-res;i--)
46             {
47                 b[i]+=1;
48             }
49 //            cout<<b[1]<<endl;
50 //            for(int i=0;i<n;i++)
51 //            {
52 //                cout<<b[i]<<endl;
53 //            }
54             for(int i=0;i<n;i++)
55             {
56                    ans+=fabs(b[i]-a[i]);
57             }
58             ans/=2;
59         }
60         cout<<ans<<endl;
61     }
62     return 0;
63 }

时间: 2024-10-17 08:00:47

609C Load Balancing的相关文章

CodeForces 609C Load Balancing

先算出目标状态,然后拿当前状态与目标状态对比,即可算出答案 #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; const int maxn=100000+10; int a[maxn]; int b[maxn]; int main() { int n; scanf("%d",&n); for(int

Load Balancing 折半枚举大法好啊

Load Balancing 给出每个学生的学分.   将学生按学分分成四组,使得sigma (sumi-n/4)最小.         算法:   折半枚举 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 #include <string> 7 #include <

How Node.js Multiprocess Load Balancing Works

As of version 0.6.0 of node, load multiple process load balancing is available for node. The concept of forking and child processes isn't new to me. Yet, it wasn't obvious to me how this was implemented at first. It's quite easy to use however: var c

LVS Load Balancing Linux Virtual Server

简介:Linux虚拟服务器(Linux Virtual Server. LVS),是一个由章文松开发的自由软件.利用KVS可以实现高可用的.可伸缩缩的Web, Mail, Cache和Medial等网络股务..井在此基 础上开发支持庞大用户数的,可伸缩的,高可用的电子商务应用.LVS1998年发展到现在,已经变得比较成熟,目前广泛应用在各种网络服务和电了商务应用 中.LVS具有很好的伸缩缩性.可靠性和管埋性,通过LVS要实现的最终目标是:利用linux 操作系统和LVS集群软件实现一个高可用.高

linux集群系列(1) --- LVS之load balancing(NET、DR、TUN)

 一.简介     1.1.  负载均衡集群:LB (load balancing) 负载均衡集群为企业需求提供了更实用的系统.如名称所暗示的,该系统使负载可以在计算机集群中尽可能平均地分摊处理.该负载可能是需要均衡的应用程序处理负载或网络流量负载.这样的系统非常适合于运行同一组应用程序的大量用户.每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡.对于网络流量也是如此.通常,网络服务器应用程序接受了太多入网流量,以致无法迅速处理,这就需要将流量发送给在其它节点上运行的网络

How Network Load Balancing Technology Works--reference

http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balancing Terms and Definitions Network Load Balancing Architecture Network Load Balancing Protocols Application Compatibility with Network Load Balancing

Network Load Balancing Technical Overview--reference

http://technet.microsoft.com/en-us/library/bb742455.aspx Abstract Network Load Balancing, a clustering technology included in the Microsoft Windows 2000 Advanced Server and Datacenter Server operating systems, enhances the scalability and availabilit

【架构】How To Use HAProxy to Set Up MySQL Load Balancing

How To Use HAProxy to Set Up MySQL Load Balancing Dec  2, 2013 MySQL, Scaling, Server Optimization Ubuntu, Debian Prelude HAProxy is an open source software which can load balance HTTP and TCP servers. In the previous article on HAProxy we configured

Windows Server 2008配置Network Load Balancing(服务群集)

最近配置SharePoint 2013 WFE 时,客户提到要让多台WFE能load balance,于是研究了下Network Load Balancing. 当把一台服务器(包括Web服务器.FTP服务器或者流媒体服务器等等)放入网络中之后,随着客户端数量的不断增加,人们往往需要功能更强大.处理速度更快的服务器.为了解决这个问题,如果将原有的服务器替换成功能更强大.处理速度更快的服务器显然并不是值得称道的办法.但是如果能把新服务器添加到原有服务器的处理能力基础上而不是替换它,这种方案毫无疑问