人以群分

简介: c++

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(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
代码长度限制
16 KB
时间限制
200 ms
内存限制
64 MB

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    int store[100010];
    int out,in,diff=0;
    cin>>n;
    for(int i=0; i<n; i++)
    {
        cin>>store[i];
    }
    sort(store,store+n);

    if(n%2==0)
    {
        out=in=n/2;
        for(int i=out; i<n; i++)
        {
            diff+=store[i];

        }

        for(int i=0; i<in; i++)
        {
            diff-=store[i];

        }

    }
    else
    {
        out=(n+1)/2;
        in = n/2;
        for(int i=out-1; i<n; i++)
        {
            diff+=store[i];

        }

        for(int i=0; i<in; i++)
        {
            diff-=store[i];
        }
    }
    printf("Outgoing #: %d\n",out);
    printf("Introverted #: %d\n",in);
    printf("Diff = %d\n",diff);
    return 0;
}
相关文章
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
升级mybatis-plus到3.5.3.1和JSQLParser 从4.3升级到4.6版本引起的插入问题解决
升级mybatis-plus到3.5.3.1和JSQLParser 从4.3升级到4.6版本引起的插入问题解决
1670 0
|
存储 运维 安全
AIGC时代数据中心运维面临的挑战
AIGC时代数据中心运维面临的挑战
452 1
AIGC时代数据中心运维面临的挑战
|
存储 C# C语言
浮点数在计算机中存储方式
浮点数在计算机中存储方式
776 0
|
Kubernetes API 调度
Kubernetes必备知识: CNI
CNI的全称是 Container Network Interface,即容器网络的 API 接口。 它是 K8s 中标准的一个调用网络实现的接口。Kubelet 通过这个标准的 API 来调用不同的网络插件以实现不同的网络配置方式。实现了这个接口的就是 CNI 插件,它实现了一系列的 CNI API 接口。常见的 CNI 插件包括 Calico、flannel、Terway、Weave Net 以及 Contiv。
2352 0
Kubernetes必备知识: CNI
|
定位技术 芯片
闰秒(leapsecond)和原子钟(Atomic Clock)究竟是什么
文章解释了闰秒的概念和必要性,它是为保持世界标准时间(UTC)与原子时的一致而增加的一秒,以及原子钟的工作原理和最新发展,包括新型小型化原子钟的应用前景。
667 0
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
417 3
|
Java 应用服务中间件 Apache
Tomcat配置访问日志和线程数
Tomcat配置访问日志和线程数
504 0
Tomcat配置访问日志和线程数
|
XML 搜索推荐 数据格式
资源描述框架的用途及实际应用解析
**RDF(资源描述框架)**是一种用于机器理解网络资源的框架,使用XML编写。它通过URI标识资源,用属性描述资源,便于计算机应用程序处理信息。RDF在语义网上促进信息的确切含义和自动处理,使得网络信息可被整合。RDF语句由资源、属性和属性值组成。RDF文档包括`&lt;rdf:RDF&gt;`根元素和`&lt;rdf:Description&gt;`元素,后者用`about`属性标识资源。RDF还支持容器(如`&lt;Bag&gt;`、`&lt;Seq&gt;`和`&lt;Alt&gt;`)来描述集合。RDFS是RDF的扩展,提供描述类和属性的框架,而达布林核心是一组预定义属性,用于描述文
459 0
|
JavaScript Java 测试技术
基于springboot+vue.js的校园失物招领系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的校园失物招领系统附带文章和源代码设计说明文档ppt
177 0

热门文章

最新文章