【NOIP2018普及组复赛】题2:龙虎斗

题2:龙虎斗

【题目描述】

轩轩和凯凯正在玩一款叫《龙虎斗》的游戏,游戏的棋盘是一条线段,线段上有 n n n 个兵营(自左至右编号 1 ∼ n 1∼n 1n),相邻编号的兵营之间相隔 1 1 1 厘米,即棋盘为长度为 n − 1 n−1 n1 厘米的线段。 i i i 号兵营里有 c i c_i ci 位工兵。

下面图1为n=6的示例:
在这里插入图片描述
1 1 1. n = 6 n=6 n=6 的示例

轩轩在左侧,代表“龙”;凯凯在右侧,代表“虎”。他们以m号兵营作为分界,靠左的工兵属于龙势力,靠右的工兵属于虎势力,而第m号兵营中的工兵很纠结,他们不属于任何一方。

一个兵营的气势为:该兵营中的工兵数×该兵营到m号兵营的距离;参与游戏一方的势力定义为:属于这一方所有兵营的气势之和。

下面图 2 2 2 n = 6 , m = 4 n=6,m=4 n=6,m=4 的示例,其中红色为龙方,黄色为虎方:

在这里插入图片描述
2 2 2. n = 6 , m = 4 n=6,m=4 n=6,m=4 的示例

游戏过程中,某一刻天降神兵,共有 s 1 s_1 s1 位工兵突然出现在了 p 1 p_1 p1 号兵营。作为轩轩和凯凯的朋友,你知道如果龙虎双方气势差距太悬殊,轩轩和凯凯就不愿意继续玩下去了。为了让游戏继续,你需要选择一个兵营 p 2 p_2 p2,并将你手里的 s 2 s_2 s2 位工兵全部派往兵营 p 2 p_2 p2,使得双方气势差距尽可能小。

注意:你手中的工兵落在哪个兵营,就和该兵营中其他工兵有相同的势力归属(如果落在 m m m 号兵营,则不属于任何势力)。

【输入文件】

输入的第一行包含一个正整数 n n n,代表兵营的数量。

接下来的一行包含 n n n 个正整数,相邻两数之间以一个空格分隔,第 i i i 个正整数代表编号为i的兵营中起始时的工兵数量 c i c_i ci

接下来的一行包含四个正整数,相邻两数间以一个空格分隔,分别代表 m , p 1 , s 1 , s 2 m,p_1,s_1,s_2 m,p1,s1,s2

【输出文件】

输出有一行,包含一个正整数,即 p 2 p_2 p2,表示你选择的兵营编号。如果存在多个编号同时满足最优,取最小的编号。

【输入样例1】

6
2 3 2 3 2 3
4 6 5 2

【输出样例1】

2

【样例1说明】

见问题描述中的图 2 2 2。双方以 m = 4 m=4 m=4 号兵营分界,有 s 1 = 5 s_1=5 s1=5 位工兵突然出现在 p 1 = 6 p_1=6 p1=6 号兵营。

龙方的气势为:

2 × ( 4 − 1 ) + 3 × ( 4 − 2 ) + 2 × ( 4 − 3 ) = 14 2×(4−1)+3×(4−2)+2×(4−3)=14 2×(41)+3×(42)+2×(43)=14

虎方的气势为:

2 × ( 5 − 4 ) + ( 3 + 5 ) × ( 6 − 4 ) = 18 2×(5−4)+(3+5)×(6−4)=18 2×(54)+(3+5)×(64)=18

当你将手中的 s 2 = 2 s_2=2 s2=2 位工兵派往 p 2 = 2 p_2=2 p2=2 号兵营时,龙方的气势变为:

14 + 2 × ( 4 − 2 ) = 18 14+2×(4−2)=18 14+2×(42)=18

此时双方气势相等。

【输入样例2】

6
1 1 1 1 1 16
5 4 1 1

【输出样例2】

1

【样例2说明】

双方以 m = 5 m=5 m=5 号兵营分界,有 s 1 = 1 s_1=1 s1=1 位工兵突然出现在 p 1 = 4 p_1=4 p1=4 号兵营。龙方的气势为:

1 × ( 5 − 1 ) + 1 × ( 5 − 2 ) + 1 × ( 5 − 3 ) + ( 1 + 1 ) × ( 5 − 4 ) = 11 1×(5−1)+1×(5−2)+1×(5−3)+(1+1)×(5−4)=11 1×(51)+1×(52)+1×(53)+(1+1)×(54)=11

虎方的气势为:

16 × ( 6 − 5 ) = 16 16×(6−5)=16 16×(65)=16

当你将手中的 s 2 = 1 s_2=1 s2=1 位工兵派往 p 2 = 1 p_2=1 p2=1 号兵营时,龙方的气势变为:

11 + 1 × ( 5 − 1 ) = 15 11+1×(5−1)=15 11+1×(51)=15

此时可以使双方气势的差距最小。

【数据规模与约定】

1 < m < n , 1 ≤ p 1 ≤ n 1<m<n,1≤p_1≤n 1<m<n,1p1n

对于 20 % 20\% 20% 的数据, n = 3 , m = 2 , c i = 1 , s 1 , s 2 ≤ 100 n=3,m=2,c_i=1,s1,s2≤100 n=3,m=2,ci=1,s1,s2100

另有 20 % 20\% 20% 的数据, n ≤ 100 , p 1 = m , c i = 1 , s 1 , s 2 ≤ 100 n≤100,p_1=m,c_i=1,s1,s2≤100 n100,p1=m,ci=1,s1,s2100

对于 60 % 60\% 60% 的数据, n ≤ 100 , c i = 1 , s 1 , s 2 ≤ 100 n≤100,c_i=1,s_1,s_2≤100 n100,ci=1,s1,s2100

对于 80 % 80\% 80% 的数据, n ≤ 100 , c i , s 1 , s 2 ≤ 100 n≤100,c_i,s_1,s_2≤100 n100,ci,s1,s2100

对于 100 % 100\% 100% 的数据, n ≤ 1 0 5 , c i , s 1 , s 2 ≤ 1 0 9 n≤10^5,c_i,s_1,s_2≤10^9 n105,ci,s1,s2109

【代码如下】:

#include <bits/stdc++.h>
using namespace std;
long long n, a[1000000], m, p, s, k, sum, ans;
int main() {scanf("%lld", &n);for (int i = 1; i <= n; i++)scanf("%lld", &a[i]);scanf("%lld%lld%lld%lld", &m, &p, &s, &k);for (int i = 1; i <= n; i++)sum += a[i] * (m - i);sum += s * (m - p);ans = m + int(sum * 1.0 / k + 0.5 * (sum > 0 ? 1 : -1));if (ans > n)ans = n;if (ans < 1)ans = 1;printf("%lld", ans);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/20348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python从入门到进阶】56、Mysql防止SQL注入及ORM库简化操作

接上篇《55、使用Python轻松操作Mysql数据库》 上一篇我们讲解了Mysql的基本链接和增删改查&#xff0c;本篇我们来介绍链接Mysql时参数化查询与防止SQL注入以及使用ORM&#xff08;对象关系映射&#xff09;库简化操作的内容。 一、参数化查询与防止SQL注入 在数据库操作中&…

雄鹰只属于天空

雄鹰只属于天空 成大事者&#xff0c;必有人生至暗时刻之经历&#xff0c;高处坠落折戟沉沙&#xff0c;在孤立无援时&#xff0c;世态炎凉人情冷落&#xff0c;饱经苦楚滋味&#xff0c;所有的热情关系一夜冰封&#xff0c;冷嘲热讽袖手旁观&#xff0c;落井下石四面楚歌&…

互联网简史-分久必合,合久必分

六一儿童节&#xff0c;给孩子们讲讲互联网的历史。 任何当代技术都是古老技术的重组&#xff0c;这是真的。我从电话网络开始&#xff0c;两幅图完事。电波可以承载语音作为最开始&#xff0c;后面的事自然而然&#xff1a; 说实话&#xff0c;网络这种事&#xff0c;它的 …

FPGA中的乒乓操作

为什么不直接选用一个缓存更大的FIFO而选用乒乓操作为什么乒乓操作可以实现低速处理高速数据乒乓操作适用哪些场景 一、乒乓操作结构 首先先介绍一下乒乓操作的原理&#xff0c;其结构如下&#xff1a; 输入选择单元负责将数据送到数据缓冲模块&#xff0c;然后输出选择单元负…

面试题vue+uniapp(个人理解-面试口头答述)未编辑完整....

1.vue2和vue3的区别&#xff08;vue3与vue2的区别&#xff08;你不知道细节全在这&#xff09;_vue2和vue3区别-CSDN博客&#xff09;参考 Vue3 在组合式&#xff08;Composition &#xff09;API&#xff0c;中使用生命周期钩子时需要先引入&#xff0c;而 Vue2 在选项API&am…

使用迭代最近点 (ICP) 算法在 Open3D 中对齐点云

一、Open3D 简介及其功能 Open3D 是一个现代库&#xff0c;它提供了用于处理 3D 数据的各种工具。在其功能中&#xff0c;它提供了高效的数据结构和算法来处理点云、网格等&#xff0c;使其成为在计算机视觉、机器人和图形领域工作的研究人员和从业人员的不错选择。Open3D 的特…

2024 年最新安装MAC-vue教学包括常见错误

花了一上午时间终于将 vue 的工程文件安装好了&#xff0c;本教材是傻瓜式操作&#xff0c;按着教程一步一步操作最后就可以看到页面了。 安装Node 1.在线地址&#xff1a; https://nodejs.org/en 2、点击 Download Node.js下载即可&#xff0c;下载完成后&#xff0c;傻瓜式的…

primeflex Display盒模型显示相关样式实战案例

01 Display盒子模式相关样式 基础样式 ClassPropertieshiddendisplay: none;blockdisplay: block;inlinedisplay: inline;inline-blockdisplay: inline-block;flexdisplay: flex;inline-flexdisplay: inline-flex; 样式说明&#xff1a; hidden&#xff1a;隐藏&#xff0c…

c# 学习教程

打印语句 折叠代码 变量 整形 浮点型 特殊类型

林业调查具体是做些什么?

林业调查是对森林资源进行系统的信息收集和处理的过程。 林业调查涵盖了对林木、林地以及林区内生长的动植物及其环境条件的全面评估&#xff0c;旨在及时掌握森林资源的数量、质量和生长消亡的动态规律。这种调查不仅关注森林本身&#xff0c;还包括与之相关的自然环境和经济…

企业级win10电脑下同时存在Python3.11.7Python3.6.6,其中Python3.6.6是后装的【过程与踩坑复盘】

背景&#xff1a; 需要迁移原始服务器的上的Python3.6.6Flask项目到一个新服务器上&#xff0c; 新服务器上本身存在一个Python3.11.7, 所以这涉及到了一个电脑需要装多个Python版本的问题 过程&#xff1a; 1-确定新电脑版本【比如是32还是64位】 前面开发人员存留了两个…

算法练习第26天|46.全排列、47全排列II

46.全排列 46. 全排列 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/permutations/description/ 题目描述&#xff1a; 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a;…

STM32 | 超声波实战

​01、上节回顾 STM32 | HC-SR04 超声波测距模块 | DHT11数字温湿度传感器(第七天)STM32 | 数字温湿度传感器DHT11STM32 | HC-SR04 超声波测距模块STM32 | DHT11数字温湿度传感器实战02、超声波图示 03、超声波头文件 #ifndef __SR04_H#define __SR04_H​#include "stm…

在鸿蒙中身份校验的手势密码的实现

在harmony中它提供了默认的组件PatternLock()&#xff1b; 这个就能直接显示九宫格密码验证 并且他有两个主要的回调事件 .onDotConnect密码输入选中宫格圆点时触发该回调 .onPatternComplete&#xff1a;密码输入结束时触发该回调 //如代码实现 PatternLock().sideLength(32…

OceanBase 内存研究(OceanBase 3.2.4.5)

内存结构 从官网的结构图可以看出&#xff0c;一台observer可使用的总内存(memory_limit)包括 系统内存(system_memory) 和 租户内存(sys租户与普通租户) 系统内存 系统内存system_memory 属于 observer 的内部内存&#xff0c;允许其它租户共享使用该内存资源 (root10.0.0.…

vmware 正版免费下载

Broadcom 已经收购了 vmware 并且对普通用户提供免费服务. 那么我们怎么去获取这个玩意呢, 注册完之后打开就是这么个狗屎 , 根本不知道在哪里下载&#xff0c;注册的时候还不能用国内邮箱更是超级狗屎 转到 dashboard 搜索 workstation Pro你会搜索到这么一个奇怪的网址然后…

SSM与Mamba模型学习

transformer的缺陷 自注意力机制的计算范围只限于窗口内&#xff0c;不能直接处理窗口外的元素&#xff0c;不能照顾到整个序列。 由于计算复杂度随着窗口的长度呈几何平方式增长&#xff0c;所以不能一味地增加窗口长度来解决。 Transformer本质上是通过位置编码将序列数据空…

AI在线UI代码生成,不需要敲一行代码,聊聊天,上传图片,就能生成前端页面的开发神器

ioDraw的在线UI代码生成器是一款开发神器&#xff0c;它可以让您在无需编写一行代码的情况下创建前端页面。 主要优势&#xff1a; 1、极简操作&#xff1a;只需聊天或上传图片&#xff0c;即可生成响应式的Tailwind CSS代码。 2、节省时间&#xff1a;自动生成代码可以节省大…

微信小程序-页面配置

一、页面配置文件的作用 小程序中&#xff0c;每个页面都有自己的.json配置文件&#xff0c;用来对当前页面的窗口外观、页面效果等进行配置 二、页面配置和全局配置的关系 小程序中&#xff0c;app.json中的window节点&#xff0c;可以全局配置小程序中每个页面的窗口表现 …

FastDFS分布式文件系统——上传本地文件

目录 安装FastDFS FastDFS 使用Java客户端上传本地文件到FastDFS服务器上 pom.xml fastdfs_conf配置文件 FastDFS 测试 安装FastDFS 1、用FastDFS一步步搭建文件管理系统 - bojiangzhou - 博客园 (cnblogs.com)2、FastDFS文件上传功能封装 - 动力节点 (bjpowernode.com)…