7-48 人以群分 (25分)
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分)相关推荐
- 【CCCC】L2-017 人以群分 (25分),,模拟水题
problem L2-017 人以群分 (25分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向 ...
- 7-9 人以群分 (25 分)
7-9 人以群分 (25 分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introver ...
- L2-017 人以群分 (25分)
题目描述: 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的 ...
- 7-2 人以群分 (25 分)
题目描述: 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的 ...
- 人以群分 (25 分)
社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的).要求两类 ...
- L2-017 人以群分 (25 分)(c语言实现)
该题目如下 如题所示,其中会先给数据的个数,所以先进行数据的录入,利用数组来存储数据中的活跃度,同时利用一个n来记录数组中元素的个数. 数据录入过程: int n1, n2, n3; int n = ...
- 7-3 人以群分 (25 分)
7-3 人以群分 (25 分) 社交网络中我们给每个人定义了一个"活跃度",现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introver ...
- 1121 Damn Single (25 分)
1121 Damn Single (25 分) "Damn Single (单身狗)" is the Chinese nickname for someone who is bei ...
- [PTA]L2-001 紧急救援 (25 分)
L2-001 紧急救援 (25 分) Description 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每 ...
最新文章
- poj2446(匈牙利算法)
- Windows域环境下部署ISA Server 2006防火墙(四)
- Python开发爬虫之理论篇
- java windows wifi_[转] win7 电脑无线网变身WiFi热点
- future career plan
- VUE axios发送cookie
- Prototype使用$H()函数
- 递归打印目录层次(java版)
- Spring4学习笔记 - Bean的生命周期
- Windows Server 2012 R2 Update 64位 MSDN原版
- IP冲突,中国移动光猫路由-中兴F673A之修改IP篇
- Photoshop:PS如何实现放大图片不模糊
- 利用IV分析仪测量二极管的伏安特性的测量方法及步骤
- 叶檀对巴菲特索罗斯寻找新淘金地的判读
- 大前端学习工具及网站大全
- 一个程序员自媒体人的2017年终总结
- 日语动词变形(转载)
- 网站性能指标 - FMP
- 测试——水杯的测试用例
- 软件设计七大原则实战(二)-开闭原则