AcWing 1603. 整数集合划分

2023-11-10

给定一个包含 N 个正整数的集合,请你将它们划分为两个不相交的集合 A1 和 A2,其中 A1 包含 n1 个元素,A2 包含 n2 个元素。

用 S1 表示集合 A1 内所有元素之和,S2 表示集合 A2 内所有元素之和。

请你妥善划分,使得 |n1−n2| 尽可能小,并在此基础上|S1−S2| 尽可能大。

输入格式

第一行包含整数 N。

第二行包含 N 个正整数。

输出格式

再一行中输出 |n1−n2| 和 |S1−S2|,两数之间空格隔开。

数据范围

2≤N≤10^5,
保证集合中各元素以及所有元素之和小于 2^31。

输入样例1:

10
23 8 10 99 46 2333 46 1 666 555

输出样例1:

0 3611

输入样例2:

13
110 79 218 69 3721 100 29 135 2 6 13 5188 85

输出样例2:

1 9359

思路 :想让|S1-S2| 尽可能的大,S1取集合中的数越大越好,S2取集合中的数越小越好,sort排序nums数组中元素后,为了|n1−n2| 尽可能小,每次S1,S2各取一个nums数组元素,我们可以使用双指针遍历nums数组等效.

#include<iostream>
#include<algorithm>
#include<memory.h>
using namespace std;
int n;
int nums[100010];
int main(){
    memset(nums,0,sizeof nums);
    cin>>n;
    for(int i=0;i<n;i++) cin>>nums[i];
    sort(nums,nums+n);
    int ans=0;
    if(n%2==0) cout<<0<<' ';
    else cout<<1<<' ';
    for(int i=0,j=n-1;i<=j;i++,j--){
        ans+=(nums[j]-nums[i]);
        if(i==j) ans+=nums[i];
    }
    cout<<ans;
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AcWing 1603. 整数集合划分 的相关文章

  • 谈谈我的保研经历

    下面这篇博客是17年9月30日写的 当时刚保研结束 就把当时的经历写了一下 经过了这七八个月的时间 又多了一些感悟 等这段时间忙完毕设打算再写一篇 以下是原文 大半年的保研生活 到现在总算有了结果 最终选择了去清华软件学院 我想把这段时间经
  • Qt-OpenCV学习笔记--基本数据结构--Scalar

    一 构造 cv Scalar s1 空构造 cv Scalar s2 s1 拷贝构造 cv Scalar s3 255 赋值构造1 cv Scalar s4 255 255 255 0 赋值构造2 二 函数 cv Scalar s5 255
  • C 语言实例 - 两个整数相加

    include
  • AGL简介

    转载于 https my oschina net lilugirl2005 blog 3078045
  • 从hash函数到王小云的MD5破解

    理论计算机初步 从hash函数到王小云的MD5破解 摘自http zhiqiang org blog 446 html Zhang Zi September 18 2006 8 51 pm Filed under Computer Scie
  • MiniGPT4,开源了!

    梦晨 发自 凹非寺量子位 公众号 QbitAI GPT 4识图功能迟迟不开放 终于有人忍不住自己动手做了一个 MiniGPT 4来了 Demo开放在线可玩 传一张海鲜大餐照片上去 就能直接获得菜谱 传一张商品效果图 就可以让AI写一篇带货文
  • 离散数学-群和环

    半群和独异点 代数系统是由一个非空集合加上一个或几个运算构成的 从这节起 我们要介绍一些特殊的代数系统 所谓特殊 是指这些代数系统中的运算具有特殊的性质 我们要介绍下列一 些代数系统 1 半群 定义 设S是非空集合 是S上的二元运算 如果
  • ctf密码学习题总结

    1 变异凯撒 加密密文 afZ r9VYfScOeO UL RWUc 格式 flag 一看题中说的是凯撒加密 我就赶快使用工具列出了所有的组合 然而发现没有一个是我想要的 于是乎 又重新审题 说的是变异凯撒 看来不能轻敌 得自己动手尝试喽
  • vscode远程连接服务器(remote ssh)+上传本地文件到服务器(sftp)

    一 vscode远程连接服务器 1 点击vscode右边工具栏点击拓展 搜索remote ssh并安装 2 安装完成后 左边工具栏会出现一个电脑图标的远程资源管理器 点击后选择SSH TARGETS的设置 3 然后选择第一个 ssh con
  • 使用connect by进行级联查询

    使用connect by进行级联查询 connect by可以用于级联查询 常用于对具有树状结构的记录查询某一节点的所有子孙节点或所有祖辈节点 来看一个示例 现假设我们拥有一个菜单表t menu 其中只有三个字段 id name和paren
  • 十三道Python练习题

    一 完美立方 编写一个程序 对任给的正整数N N 100 寻找所有的四元组 a b c d 使得a 3 b 3 c 3 d 3 其中a b c d 大于 1 小于等于N 输入一个正整数N N 100 输出 每行输出一个完美立方 输出格式为
  • Anaconda 添加清华镜像源

    在安装tensorflow时 不知道怎么了 一直安装不上去 所以重新配置了下镜像 安装环境 win10 anaconda3 5 删除之前的镜像源 恢复默认状态 conda config remove key channels 添加清华镜像源
  • vue页面的定时刷新

    在做项目时我们肯定会遇到要求该页面几分钟去定时刷新一下获取最新数据这样的情况 那么这个时候我们就要使用setInterval 了 那么我们应该把定时刷新放在什么位置什么时候触发什么时候清除呢 这就需要我们了解vue的生命周期 首先贴一张从官
  • [ Android实战 ] android query: BufferQueue has been abandoned 问题解决

    Android实战 android query BufferQueue has been abandoned 问题解决 背景 日志分析 参考资料 解决方案 源码分析 总结 尊重原创 转载请注明出处 背景 最近在我们的 Camera 应用上发
  • 网络攻击——CSRF攻击

    CSRF攻击 CSRF全称是跨站请求伪造 cross site request forgery CSRF伪装受信任用户 向第三方平台发送恶意请求 CRSF能做的事情包括利用你的身份发邮件 发短信 进行交易转账 甚至盗取账号信息 一个典型的C

随机推荐

  • mysql进阶优化篇04——深入JOIN语句的底层原理

    前 言 作者简介 半旧518 长跑型选手 立志坚持写10年博客 专注于java后端 专栏简介 mysql基础 进阶 主要讲解mysql数据库sql刷题 进阶知识 包括索引 数据库调优 分库分表等 文章简介 本文将介绍JOIN语句的底层原理
  • 2022-06-14 用crontab在linux下定期执行mysql的存储过程

    问题 我们程序有一个日志表 tx log 由于每天数据量增加巨大 所以要每天手动备份3天前的数据到别的表中 tx log ls 并将这些数据在日志表中删除 但有时总会忘记备份 所以想写一个定时器 每天下半夜1点定时执行 思想 1 在mysq
  • STM32Cube学习(2)——定时器中断

    0 引言 单片机 STM32F407ZGT6 仿真器 ST Link V2 开发环境 STM32CubeIDE 1 10 1 功能说明 采用定时器中断的方式 实现LED按照定时器频率闪烁 前情提要 STM32Cube学习 1 点灯 配置 参
  • 基于点云的三维重建_一分钟详解三维重建学习路线

    作者 庞巧遇 来源 公众号 3D视觉工坊 链接 一分钟详解三维重建学习路线 三维重建在计算机视觉中是十分重要的 其中涉及很多的技术内容 为了后来人能少走弯路 也为了对自己的知识框架系统总结 特记录自己的学习路线 1 什么是三维重建 三维重建
  • 决策树,信息熵,信息增益计算----机器学习

    决策树 decision tree 决策树简单介绍 信息量 信息熵 信息增益 决策树简单介绍 决策树是一种基于树状结构来做决策的 是一种常见的机器学习方法 主要做分类 也可以做回归 一棵决策树含有一个根结点 样本全集 若干个内部结点和若干个
  • MYSQL HTTP头部注入

    HTTP头部基础 Accept 浏览器能够处理的内容类型 Accept Charset 浏览器能够显示的字符集 Accept Encoding 浏览器能处理的压缩编码 Accept Language 浏览器当前设置的语言 Connectio
  • Hyper-V 的用途与安装

    什么是 Hyper V Hyper V是微软提出的一种系统管理程序虚拟化技术 能够实现桌面虚拟化 WSL2 和 WSA 与 Hyper V 的关系 Hyper V其实分两个部分 底层的虚拟机平台 上层的虚拟机管理软件 以前的Windows版
  • 2023华为OD机试真题Python实现【动态规划/找出重复代码】

    题目描述 小明负责维护项目下的代码 需要查找出重复代码 用以支撑后续的代码优化 请你帮助小明找出重复的代码 重复代码查找方法 以字符串形式给出两行代码 字符审长度1 lt length lt 100 由英文字母 数字和空格组成 找出两行代码
  • 两个日期选择器的联动

    让两个独立的日期选择器产生联动 我这里用的是elmentUI的 DatePicker日期选择器 效果展示 方案1
  • Linux下的dd命令

    简介 dd命令是Linux下的一个重要的磁盘操作命令 它的主要作用是备份和复制磁盘 dd的语法是 dd if 输入文件的名称 of 输出文件的名称 参数 值 if 输入文件的名称 指定输入文件的名称 可以是文件 设备 目录等 of 输出文件
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】流水线

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 流水线 知识点数组队列编程基础 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 一个工厂有m条流水线 来并行完成n个独立的作业 该工厂设置了一个调度系统 在安排作业时
  • aso优化师是什么_aso是什么意思 aso优化师是啥

    aso是什么意思 aso优化师是啥 年已过完 要收心工作学习了 今天李鑫自媒体就从头过滤一下aso方面的知识 用文字总结表述出来 加深自己理解的同时也帮助一些新手小伙伴了解aso aso是什么意思 ASO是App store Optimiz
  • element 的 this.$message( ) 消息提示实现

    在vue项目中 直接通过js代码 this message 就可以调出消息提示组件 这是如何实现的呢 主要分为以下几步 1 用 Vue extend 创建组件的模板 构造函数 2 创建一个函数 在函数内部 实例化组件并进行挂载到相应元素上
  • 【开发记录01】开发环境副本/页的导入&带用户权限管理系统

    在蒋老师的指导下大概了解了 1 开发环境的数据导入 导出 共享组件的同步 因为应用程序277是应用程序100的子程序 所以共享组件必须和100保持一致 但是会出现一个小问题 在APEX开发过程中同时打开两个不同的应用程序 但是编辑过程中经常
  • CVE-2017-12149

    春秋云镜 CVE 2017 12149 JBoss反序列化漏洞 靶标介绍 2017年8月30日 厂商Redhat发布了一个JBOSSAS 5 x 的反序列化远程代码执行漏洞通告 该漏洞位于JBoss的HttpInvoker组件中的 Read
  • 【教程】Github快速学习

    教程 Github快速学习 备注 一 Git基础 1 安装 2 git原理 3 基本配置 4 Gitignore 二 Git分支 1 基础命令 三 学习Github Github Docs官方文档 gt Github漫游指南 gt 开源指北
  • 毕业设计-基于大数据技术的旅游推荐系统-python

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • 大数据常用采集工具

    1 Flume Flume作为Hadoop的组件 是由Cloudera专门研发的分布式日志收集系统 尤其近几年随着Flume的不断完善 用户在开发过程中使用的便利性得到很大的改善 Flume现已成为Apache Top项目之一 Flume提
  • [转]一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)

    一文读懂PID控制算法 抛弃公式 从原理上真正理解PID控制 PID控制应该算是应用非常广泛的控制算法了 小到控制一个元件的温度 大到控制无人机的飞行姿态和飞行速度等等 都可以使用PID控制 这里我们从原理上来理解PID控制 PID pro
  • AcWing 1603. 整数集合划分

    给定一个包含 N 个正整数的集合 请你将它们划分为两个不相交的集合 A1 和 A2 其中 A1 包含 n1 个元素 A2 包含 n2 个元素 用 S1 表示集合 A1 内所有元素之和 S2 表示集合 A2 内所有元素之和 请你妥善划分 使得