• 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 }
    View Code
  • 相关阅读:
    弹框定位
    多窗口切换
    frame嵌套页面元素的定位
    元素的等待
    键盘的操作
    鼠标的操作
    下拉列表框的选定定位
    Css定位元素
    依赖反射练习实例
    excel筛选两列值是否相同,如果相同返回第三列值
  • 原文地址:https://www.cnblogs.com/ITUPC/p/5083654.html
Copyright © 2020-2023  润新知