7-48 人以群分 (25分)
社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

输入格式:
输入第一行给出一个正整数N(2≤N≤10
​5
​​ )。随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。题目保证这些数字以及它们的和都不会超过2
​31
​​ 。

输出格式:
按下列格式输出:

Outgoing #: N1
Introverted #: N2
Diff = N3

其中N1是外向型人的个数;N2是内向型人的个数;N3是两群人总活跃度之差的绝对值。

输入样例1:
10
23 8 10 99 46 2333 46 1 666 555

输出样例1:
Outgoing #: 5
Introverted #: 5
Diff = 3611

输入样例2:
13
110 79 218 69 3721 100 29 135 2 6 13 5188 85

输出样例2:
Outgoing #: 7
Introverted #: 6
Diff = 9359

这个题思路十分简单,先将他们按活跃度排个序,首先第一个要求要使两伙人规模相近,那么如果人数是偶数,我们之间从中间分开就行了,如果人数是奇数,那就会多出来一个,因为要是活跃度差值尽可能大,显然这多的这个人就要给更活跃的那部分人,下面给出AC代码

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
ll a[100010];
bool fun(ll a,ll b){return (a<b);}
int main(){int n;scanf("%d",&n);for(int i=0;i<n;++i)scanf("%d",a+i);sort(a,a+n,fun);if(n&1){ll sum1=0,sum2=0;for(int i=0;i<n;++i){if(i<n/2)sum1+=a[i];if(i>=n/2)sum2+=a[i];}printf("Outgoing #: %d\nIntroverted #: %d\nDiff = %lld",n/2+1,n/2,sum2-sum1);}else{ll sum1=0,sum2=0;for(int i=0;i<n;++i){if(i<n/2)sum1+=a[i];if(i>=n/2)sum2+=a[i];}printf("Outgoing #: %d\nIntroverted #: %d\nDiff = %lld",n/2,n/2,sum2-sum1);    }return 0;
}

7-48 人以群分 (25分)相关推荐

  1. 【CCCC】L2-017 人以群分 (25分),,模拟水题

    problem L2-017 人以群分 (25分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向 ...

  2. 7-9 人以群分 (25 分)

    7-9 人以群分 (25 分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introver ...

  3. L2-017 人以群分 (25分)

    题目描述: 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的 ...

  4. 7-2 人以群分 (25 分)

    题目描述: 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的 ...

  5. 人以群分 (25 分)

    社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的).要求两类 ...

  6. L2-017 人以群分 (25 分)(c语言实现)

    该题目如下 如题所示,其中会先给数据的个数,所以先进行数据的录入,利用数组来存储数据中的活跃度,同时利用一个n来记录数组中元素的个数. 数据录入过程: int n1, n2, n3; int n = ...

  7. 7-3 人以群分 (25 分)

    7-3 人以群分 (25 分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introver ...

  8. 1121 Damn Single (25 分)

    1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...

  9. [PTA]L2-001 紧急救援 (25 分)

    L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...

最新文章

  1. poj2446(匈牙利算法)
  2. Windows域环境下部署ISA Server 2006防火墙(四)
  3. Python开发爬虫之理论篇
  4. java windows wifi_[转] win7 电脑无线网变身WiFi热点
  5. future career plan
  6. VUE axios发送cookie
  7. Prototype使用$H()函数
  8. 递归打印目录层次(java版)
  9. Spring4学习笔记 - Bean的生命周期
  10. Windows Server 2012 R2 Update 64位 MSDN原版
  11. IP冲突,中国移动光猫路由-中兴F673A之修改IP篇
  12. Photoshop:PS如何实现放大图片不模糊
  13. 利用IV分析仪测量二极管的伏安特性的测量方法及步骤
  14. 叶檀对巴菲特索罗斯寻找新淘金地的判读
  15. 大前端学习工具及网站大全
  16. 一个程序员自媒体人的2017年终总结
  17. 日语动词变形(转载)
  18. 网站性能指标 - FMP
  19. 测试——水杯的测试用例
  20. 软件设计七大原则实战(二)-开闭原则

热门文章

  1. html帮助是什么意思,Javascript/html的帮助!应该很简单
  2. android 6.0魅族首批,有你的手机吗?首批安卓6.0升级名单一览
  3. C语言 return没有返回值.
  4. 华为交换机telnet配置方法
  5. 【iOS】保存PDF文件和打印功能
  6. Linux --- chmod,chown和chgrp的区别
  7. visio图片自适应贴边,存储为pdf
  8. windows上的 vscode 使用密钥连接远程服务器开发
  9. word文档美化技巧:加个边框提升版面颜值
  10. 2022性价比最高的手机排名