西南民族大学第十届校赛(同步赛)(J题——怪盗基德 月之瞳宝石)
题目描述
在这片寂静的夜色之下,他就这样静静的降临在我的面前,他的眼神就好像能看透了一切,露出了无所畏惧的笑容。一袭白斗篷和一顶白礼帽,不带一丝多余的动作,他的脸在单眼眼睛跟逆光之下。
to 世纪末的魔术师
By the mysterious man
怪盗基德在上次失败后,对美丽的月之瞳宝石非常觊觎,他想要得到它,以世纪末的魔术师的名义。但是却遇到了重重机关阻拦,眼看到了月之瞳宝石盒之前,怪盗基德却停下了脚步。
“世界上有些谜,还是让它永远成为谜比较好”
话音刚落,只见一片白雾,待雾散开之时,他已经消失在月色之中。
在怪盗基德走后,你潜入进去,却发现,上面篆刻着一段奇怪的话:
在缥缈的宇宙中,有一条穿越时空的隧道,在这条隧道中,有着许多星体和能源体,他们都排列在一条直线上,对于每个星体而言,他们都需要能源体的照耀才能够存活于这条时空隧道当中,当然一个能源体可以同时为多个星体提供能源(对于一个能源体来说,也可能没有星体需要它提供能源)。但是,有所限制的是每个能源体只能为与自身相距x之内的星体提供能源。现在需要你找到最小的x,使得每个星体都能够得到能源(即每个星体必须得到至少一个能源体的照耀)。
现在是你作为怪盗基德的徒弟大展身手的时候了。
输入描述:
输入共三行,第一行有两个数n和m(1 <= n, m <= 1e5),分别代表有n个星体,m个能源体。
第二行有n个数a1, a2, … an,代表n个星体的位置。(-2e9 <= a[i] <= 2e9)
第三行有m个数b1, b2, … bm,代表m个能源体的位置。(-2e9 <= b[j] <= 2e9)
输出描述:
输出最小的x,满足每个星体都有至少一个能源体为其提供能源。
输入
3 2
-2 2 4
-3 0
输出
4
说明
对于3个位置的星体,与其距离最近的能源体距离分别为1,2,4,所以能源体照耀的范围只需为4即可
输入
4 3
7 -2 5 6
1 8 -3
输出
3
思路: 从左到右搜一次并记录(如果为能源体则星体与能源体之间相减,否则就是两星体距离相减加上前一个星体的值a[i]),再从右到左搜一次并记录(反着记录同上),对应下标两次取较小,在把所有元素sort输出最大值即可,注意一开始m1的值要大于4e9。
思路说个大概,具体看代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct node{long long int x;long long int y;
};
bool com(const node s1,const node s2)
{if(s1.x<s2.x)return true;elsereturn false;
}
long long int n,m,m1=5000000005,a[100005],b[100005],i,s,s1,j,z,cnt=0,t,t1,cnt1;
node c[200005];
int main()
{scanf("%lld %lld",&n,&m);for(i=0;i<n;i++){scanf("%lld",&c[i].x);c[i].y=0;}for(i=n;i<n+m;i++){scanf("%lld",&c[i].x);c[i].y=1;}sort(c,c+n+m,com);cnt=0;if(c[0].y==0){a[cnt]=m1;cnt++;}for(i=1;i<n+m;i++){if(c[i].y==0){if(c[i-1].y==1){a[cnt]=c[i].x-c[i-1].x;cnt++;}else{a[cnt]=c[i].x-c[i-1].x+a[cnt-1];cnt++;} }}cnt1=cnt;cnt--;if(c[n+m-1].y==0){b[cnt]=m1;cnt--;}for(i=n+m-2;i>=0;i--){if(c[i].y==0){if(c[i+1].y==1){b[cnt]=c[i+1].x-c[i].x;cnt--;}else{b[cnt]=c[i+1].x-c[i].x+b[cnt+1];cnt--;} }}for(i=0;i<cnt1;i++){if(a[i]>b[i]){a[i]=b[i];}}sort(a,a+cnt1);cout<<a[cnt1-1]<<endl;
}
西南民族大学第十届校赛(同步赛)(J题——怪盗基德 月之瞳宝石)相关推荐
- 西南民族大学第十届校赛(同步赛) 个人笔记 题解
题目链接:https://ac.nowcoder.com/acm/contest/322#question 先来一波官方题解 作者:兔子韩 链接:https://ac.nowcoder.com/dis ...
- 新年第一篇!西南民族大学第十届校赛(同步赛)
https://ac.nowcoder.com/acm/contest/322#question A.dreamstart的催促 代码: #include <cstdio> #includ ...
- 西南民族大学第十届校赛(同步赛)ABCEHJM题解
A dreamstart的催促 用到了快速幂 a^b%c long long quick(long long a,long long b,long long c) {long long ans=1;a ...
- 西南民族大学第十届校赛(同步赛)(H题——Ricky’s RealDan’s Ricky)
题目描述 The 2019 is coming!Ricky 和 RealDan为了庆祝2018一年的成果,准备去大吃一顿,然而 Ricky 想吃火锅, RealDan 想吃海鲜.为了解决吃什么的难题, ...
- 西南民族大学第十届校赛(同步赛)(F题——集训队脱单大法:这是一道只能由学姐我自己出数据的水题)
题目描述 总所不周知!ZZZZone有了女朋友却谁也不知道.但是ZZZZone在集训队总是和陈大佬走的很近,每天搂搂抱抱十分不成体统!于是就被ZZZZone的女朋友给知道了,但是呢,ZZZZone的女 ...
- 西南民族大学第十届校赛 题解
做了一个小时有事出去了,所以还没看其他的题目,放寒假的时候再补上吧. A :dreamstart的催促 简单快速幂的运用,水题. 链接:https://ac.nowcoder.com/acm/cont ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解
"科林明伦杯"哈尔滨理工大学第十届程序设计竞赛(同步赛) 题解 萌新又来写题解啦 原题链接 B 减成一 题意:存在n个数,每次操作可以任选一个区间使得区间内的所有数字减一.问最少多 ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)---全题目+题解
文章目录 A.点对最大值 B.减成一 C.面积 D.扔硬币 E.赛马 F.三角形 G.养花 H.直线 I.字典序 J.最大值 A.点对最大值 链接:https://ac.nowcoder.com/ac ...
- “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛) F
F 三角形 链接:https://ac.nowcoder.com/acm/contest/5758/F 来源:牛客网 小明有一根长度为a的木棒,现在小明想将木棒分为多段(每段木棒长度必须为整数), 使 ...
最新文章
- 网站DDOS***防护实战老男孩经验心得分享
- python脚本语言采用声音作为手段_python 利用pyttsx3文字转语音过程详解
- MSP430F5529 DriverLib 库函数学习笔记(十三)认识低功耗模式
- BugkuCTF-Crypto题MathEnglish
- [bzoj1008][HNOI2008]越狱-题解[简单组合数学]
- Springboot打jar包项目无法访问jsp问题解决
- 斯坦福人工智能与图像处理_斯坦福大学设计新型AI摄像头,能更快对图像进行分类...
- 计算机一级考excel基础知识,计算机一级考试模拟题(word、excel、ppt以及基础知识)...
- QQ浏览器+7654联盟
- 图形化硬件编程 ——数码管时钟——之米思齐篇
- 线索二叉树的建立和遍历
- 字节跳动面试:京东面试真题解析,薪资翻倍
- 【个人笔记】photoshop中回退撤销问题
- virtuoso小白入门
- Mybatis报错:Could not resolve type alias
- 基于stm32c8t6移植FreeRTOS问题汇总
- 单片机核心学习:(三)ARM架构(上)
- 深入理解Java虚拟机 JVM高级特性与最佳实践(二)
- Centos7 重启后ens33消失(外部连接不上)
- 关于等保2.0要求配置的身份鉴别(口令长度、复杂度、有效期)(口令登录失败、锁定多长时间)
热门文章
- 程序员如何获取自己学习路线(附带前端学习路线)
- 中泰语快速进行在线翻译的方法
- 用html5如何编写星球运动,HTML5---Canvas-模拟地球-星球运行轨道
- JavaSE 第七章集合 Collection
- 西南石油大学计算机考研人数,8所高校报考人数汇总,21考研这是要妥妥突破400万人的节奏?...
- Queue、Deque、LinkedList学习
- 原理 拉普拉斯金字塔_图像金字塔分层算法
- 我为什么选择Firefox作为主力浏览器
- Mapped Statements collection does not contain valu
- java武士风度_情感故事:淡定,淡定,再淡定!