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

下面图 1 为 n = 6 的示例:

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

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

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

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

注意:你手中的工兵落在哪个兵营,就和该兵营中其他工兵有相同的势力归属(如果落在 m 号兵营,则不属于任何势力)。
输入格式
输入文件的第一行包含一个正整数n,代表兵营的数量。
接下来的一行包含n个正整数,相邻两数之间以一个空格分隔,第i个正整数代
表编号为i的兵营中起始时的工兵数量 di 。
接下来的一行包含四个正整数,相邻两数间以一个空格分隔,分别代表m,p1 ,s1 ,s2 。

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

样例输入

【输入样例 1】

6
2 3 2 3 2 3
4 6 5 2
1
2
3

【输入样例 2】

6
1 1 1 1 1 16
5 4 1 1
1
2
3

样例输出

【输出样例 1】

2
1

【输出样例 2】

1
1

小编参加NOIP2018时, 感觉这道题异常的水(结果真水 ),BUT,程序一直过不了样例。出了考场,猛然发现题读错了……(>﹏<)

悲剧…………

题目千万道,读题第一条

读题不仔细,亲人两行泪

思路:就是一个简单模拟。
但是要开long_long,并且注意细节

献上代码:

/*
注意:在程序运行中会炸int,若用(i - m) * s2,则会被认为用int计算,会原地爆炸
*/
#include <cstdio>
int n, m, p1;
long long c[ 100005 ], s1, s2, Sum_, minn = 1LL << 62, Ans_, Now_;
int main() {scanf("%d", &n);for(int i = 1; i <= n; i ++) {scanf("%lld", &c[ i ]);}scanf("%d %d %lld %lld", &m, &p1, &s1, &s2);c[ p1 ] += s1;for(int i = 1; i <= n; i ++) {Sum_ += 1LL * (i - m) * c[ i ];}//计算差值for(int i = 1; i <= n; i ++) {Now_ = Sum_ + 1LL * (i - m) * s2;Now_ = Now_ < 0 ? -Now_ : Now_;//取绝对值if (Now_ < minn) {//更新Ans_minn = Now_;Ans_ = i;   }}printf("%lld\n", Ans_);return 0;
}

龙虎斗(NOIP2018)相关推荐

  1. 信息学奥赛一本通 1979:【18NOIP普及组】龙虎斗 | 洛谷 P5016 [NOIP2018 普及组] 龙虎斗

    [题目链接] ybt 1979: [18NOIP普及组]龙虎斗 洛谷 P5016 [NOIP2018 普及组] 龙虎斗 [题目考点] 1. long long类型使用 已知变量a, b是int类型的变 ...

  2. [NOIP2018 普及组] 龙虎斗

    今天就讲讲普及组的题目吧(本菜狗今年就差0.5分就晋级了呜呜呜) 进入正题 先上题目 轩轩和凯凯正在玩一款叫<龙虎斗>的游戏,游戏的棋盘是一条线段,线段上有 nn 个兵营(自左至右编号1∼ ...

  3. 【NOIP2018普及组】龙虎斗

    题目描述 轩轩和凯凯正在玩一款叫<龙虎斗>的游戏,游戏的棋盘是一条线段,线段上有 n n n 个兵营(自左至右编号 1 ∼ n 1∼n 1∼n),相邻编号的兵营之间相隔 1 1 1厘米,即 ...

  4. P5016 [NOIP2018 普及组] 龙虎斗

    题目描述 轩轩和凯凯正在玩一款叫<龙虎斗>的游戏,游戏的棋盘是一条线段,线段上有 nn 个兵营(自左至右编号 1 \sim n1∼n),相邻编号的兵营之间相隔 11 厘米,即棋盘为长度为  ...

  5. NOIP2018(普及组 ) 赛后感想 题解

    本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可. 文章目录 NOIP2018(普及组 ) 赛后感想 & 题解 #1. 标题统计 #2. 龙虎斗 #3. 摆渡车 Lemma ...

  6. 新兵入坑 ——回顾NOIP2018

    新兵入坑--回顾NOIP2018 在这金秋时节,一年一度的NOIP来了,经过一年的学习,顺利通过初赛后,终于要展现新兵真正的技术了. 11月10日,所有竞赛班的同学乘大巴前往广州二中,一顿美味的午餐过 ...

  7. noip2018——题解总结

    近期正在疯狂复习某些东西,这篇博客尽量年底更完--(Day2T2除外) 好了,所有的希望都破灭了,原来这就是出题人的素质.--一个被欺骗的可怜 $OIer$ 人生中倒数第三次 $noip$ (Mayb ...

  8. CCF关于对NOIP2018复赛违规处罚的公告

    NOIP2018复赛于11月10-11日在全国31个赛区同时举行,现已结束.总体有序,但也有赛区出现违规现象.现将复赛中违规情况进行通报. 一.数据提交情况 CCF要求NOI各省组织单位在考试结束后在 ...

  9. NOIP2018退役记

    NOIP2018退役记 手动博客搬家: 本文发表于20181112 08:25:07, 原地址https://blog.csdn.net/suncongbo/article/details/83961 ...

  10. NOIP2018 退役记

    手动博客搬家: 本文发表于20181112 08:25:07, 原地址https://blog.csdn.net/suncongbo/article/details/83961273 以下为退役记 1 ...

最新文章

  1. 英特尔新任 CEO 的“开挂”人生
  2. JAVA IO 随笔记录
  3. ubuntu12.04LTS下eclipse indigo版配置opencv2.4.9
  4. CV之YOLOv3:基于Tensorflow框架利用YOLOv3算法对热播新剧《庆余年》实现目标检测
  5. linux下mysql中文乱码
  6. Spark 1.0.0版本号公布
  7. Hibernate事务与并发问题处理(乐观锁与悲观锁)
  8. 2022 SpringBoot/SSM的极为轻量级推荐博客系统
  9. web前端基础教程实践DIV+CSS网页布局入门指南
  10. C++通配符模糊匹配
  11. 说一说协议生成器 - Ricequant米筐量化
  12. 计算机专业英语求职信范文及翻译,英文求职信范文带翻译150字-.doc
  13. 特斯拉又遇致命车祸:车主严重烧伤无法辨认 事故一天后电池复燃
  14. 163邮箱的登陆页面是什么样的有几种登陆方式?163邮箱手机版登陆
  15. 明源云客微信抢房技巧_明源演示 - 微信抢房_软件抢房_网上选房_手机抢房_代抢房 - 爱抢房...
  16. icepdf 将pdf转换为图片
  17. c语言数码管显示小数点,8位数码管显示正整数和小数及解决鬼影问题
  18. 医疗项目(HIS)业务简单介绍
  19. 为什么使用双亲委派机制以及如何破坏双亲委派
  20. 用自卑感塑造更好地自己

热门文章

  1. 转载10个让人受益的管理原理
  2. php驾校选择题,驾校驾驶理论考试模拟系统的设计与实现(PHP,MySQL)
  3. 【U8+】用友U8+通过数据库取消模块启用
  4. python中tuple函数_Python中元组(Tuple)和字典(dict)用法以及函数
  5. errno: 150 “Foreign key constraint is incorrectly formed”
  6. 人类对肉食的渴望威胁着数百种大型动物的生存
  7. onchange保存原值 vue
  8. spark中agg函数
  9. 运营支撑系统(BSS)在面向物联网IoT业务场景的模型简要分析和设计
  10. 财务管理考研计算机,2009人大商学院财务管理考研经验