problem

L2-017 人以群分 (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

  • 给出n个人及其活跃度
  • 将其分为内向和外向两类,要求规模相近,活跃度差值大

solution

  • 一脸懵逼莫莫名其妙乱写一通就AC了。。我也很无语
  • 要求规模对半:活跃度从小到大排序,n为偶数直接一人一半,奇数时判断中间值属于哪个收益更大
  • 当中间值与大的外向的那边更接近时,把大的外向的加上中间值,这样绝对值差会变大。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 100010;int a[maxn];int main(){int n;  cin>>n;for(int i = 1; i <= n; i++)cin>>a[i];sort(a+1,a+n+1);int s1 = 0, s2 = 0;if(n%2==0){for(int i = 1; i <= n/2; i++)s1 += a[i];for(int i = n/2+1; i <= n; i++)s2 += a[i];printf("Outgoing #: %d\n",n/2);printf("Introverted #: %d\n",n/2);printf("Diff = %d\n",s2-s1);}else{int mid = (n-1)/2;for(int i = 1; i <= mid; i++)s1 += a[i];for(int i = mid+2; i <= n; i++)s2 += a[i];if(a[mid+2]-a[mid+1]<a[mid+1]-a[mid]){s1 += a[mid+1];printf("Outgoing #: %d\n",mid);printf("Introverted #: %d\n",mid+1);}else {s2 += a[mid+1];printf("Outgoing #: %d\n",mid+1);printf("Introverted #: %d\n",mid);}printf("Diff = %d\n",s2-s1);}return 0;
}

【CCCC】L2-017 人以群分 (25分),,模拟水题相关推荐

  1. 【CCCC】L2-027 名人堂与代金券 (25分),模拟水题

    problem L2-027 名人堂与代金券 (25分) 对于在中国大学MOOC(http://www.icourse163.org/ )学习"数据结构"课程的学生,想要获得一张合 ...

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

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

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

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

  4. 洛谷 1563 玩具谜题——模拟水题

    题目:https://www.luogu.org/problemnew/show/P1563 模拟水题. #include<iostream> #include<cstdio> ...

  5. 【CCCC】L2-021 点赞狂魔 (25分),,模拟水题,map数组,间接排序

    problem L2-021 点赞狂魔 (25分) 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了 ...

  6. 【CCCC】L2-020 功夫传人 (25分),,模拟水题,多叉树的存储与遍历

    problem L2-020 功夫传人 (25分) 一门武功能否传承久远并被发扬光大,是要看缘分的.一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱-- 直到某一支的某一代 ...

  7. 【CCCC】L2-019 悄悄关注 (25分),,模拟水题,STL大法好

    problem L2-019 悄悄关注 (25分) 新浪微博上有个"悄悄关注",一个用户悄悄关注的人,不出现在这个用户的关注列表上,但系统会推送其悄悄关注的人发表的微博给该用户.现 ...

  8. 【CCCC】L2-030 冰岛人 (25分) 模拟题,二叉树链式存储,从底部向上

    problem L2-030 冰岛人 (25分) 2018年世界杯,冰岛队因1:1平了强大的阿根廷队而一战成名.好事者发现冰岛人的名字后面似乎都有个"松"(son),于是有网友科普 ...

  9. 【CCCC】L2-024 部落 (25分),,并查集,模板水题,统计集合个数

    problem L2-024 部落 (25分) 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈.我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多 ...

最新文章

  1. java链接mysql mvc_MVC jsp+servlet+javabean 连接Mysql数据库測试demo
  2. AJAX技术入门 第五节 Javascript高级知识
  3. 关机充电如何实现短按pwrkey灭屏
  4. MS17-010(永恒之蓝)漏洞分析与复现
  5. Python数据分析pandas之数据拼接与连接
  6. node入门-学习笔记
  7. 几组数据的相关性python_Python+pandas计算数据相关系数的实例
  8. Java使用POI实现多个excel合并成一个excel
  9. 美通企业日报 | 今年中国私家车行驶里程同比大降18%;缤客发布2020年八大旅行趋势...
  10. php whois查询,php whois查询API制作方法
  11. EtherNET/IP协议基础知识(下)
  12. Python_基础笔记
  13. 广东省计算机免考申请多久可以审核,2019年广东自考免考政策 免考申请条件、时间及流程...
  14. 摩托罗拉Android系统,摩托罗拉官方Android 4.0系统正式到来
  15. ios和android下数字没有垂直居中,手机端设置小号字体的上下居中问题
  16. 计算机弹出虚拟U盘,怎么设置vmware虚拟机U盘启动
  17. 基于JAVA+SpringBoot+Mybatis+MYSQL的相册管理系统
  18. 怎么使excel表只显示一部分分页内容
  19. 高效算法,B*寻路算法,python版,思维优化(1)
  20. Python 内置模块tkinter —— 秒表计时器

热门文章

  1. 可视化——matploblib 解决中文显示的问题
  2. mysql datetime 对于hbm_mysql 字段datetime Hibernate
  3. 在网页子文本框模拟特定的鼠标滚轮_Pyhton爬虫的另类操作,之前有碰到不能爬的网页来看看!...
  4. python从入门到精通 明日科技 电子书-【明日科技+python】百度云下载 - 云盘精灵...
  5. python基础教程第三版电子版-《python基础教程第三版》PDF高清完整版-免费下载...
  6. 国外大神一张图学会python-关于可以访问国外网站的浏览器的阿里云论坛用户知识和技术交流...
  7. python代码写好了怎么运行-教你如何编写、保存与运行 Python 程序
  8. python能做什么excel-python能做什么,python自学行吗?
  9. python中文叫什么-python中文别名
  10. python入门教程(非常详细)-Python超详细入门教程(上)