2024百度之星第三场第一题 数星星
创始人
2025-01-15 22:05:26
0

天上有 n 颗星星,每颗星星自第 bi​ 秒开始(包含第 bi​ 秒),每 ai​ 秒便会闪烁一次,小度 今晚有一点失眠,所以他想来数星星,天上的星星每闪烁一次,小度便会在心中记一次数,如果同时有 x 颗星星在闪烁,小度也会计数 x 次。

假设小度今晚会从第 l 秒开始数,第 r 秒天便亮了,但是在计数到 c 次及以上的时候,小度便会睡着。

请问你能帮小度预估,今晚是否能睡着吗?如果能,将会在多少秒时睡着。

格式

输入格式:

第 1 行读入 1 个整数 n,代表天上的星星个数;
第 2 行读入 n 个整数 ai​, 代表第 𝑖i 个星星的闪烁周期;
第 3 行读入 n 个整数 bi​, 代表第 𝑖i 个星星的开始闪烁时间;
第 4 行读入 3 个整数 l,r,c,代表开始计数时间,结束时间,计数睡着的次数。
数据保证 1≤n≤10^5,1≤ai​,bi​,l,r,c≤10^18,l≤r。

输出格式:

如果小度能够睡着,那么输出小度睡着的时候,否则输出 -1

样例 1

输入:

2 1 2 1 1 1 10 4 

输出:

3 
样例 2

输入:

1 1 1 30 40 12

复制

输出:

-1

复制

样例 3

输入:

3 1 3 5 3 5 9 1 30 20 

输出:

16 
样例 4

输入:

1 2 3 1 1000000000000000000 499999999999999999 

输出:

999999999999999999

复制

备注

样例1解释:
第 1 秒,星星 1 与 星星 2 闪烁一次;
第 2 秒,星星 1 闪烁一次;
第 3 秒,星星 1 与 星星 2 闪烁一次;
在第 3 秒时,所有星星共 5 次,大于等于 4 次,所以小度会在第 3 秒睡着。
所以答案为 3。
样例2解释:
第 30 秒至第 40 秒期间,星星共闪烁 11 次,没有满足小度会睡着的条件,输出 -1。 

思路:二分求解,对每一个时间t,确定到t可以观察到多少个星星闪耀。(题目不难,就是可能有细节错,建议先打个草稿分一下情况)(ps:这星耀难度像签到,hh)

三种情况:

1:第i个星星开始时间大于t,直接跳过。

2:开始时间在l和t之间,计算t到b[i]的闪耀次数。

3:开始时间t小于l,计算l-1到b[i]和t到b[i]的闪耀次数,然后相减。(博主一开始一直是l到b[i],一直错,/(ㄒoㄒ)/~~)

代码;

#include using namespace std; #define int long long const int N=1e5+10; int a[N]; int b[N]; int l,r,c,n; int l1,r1; int check(int x){ 	int count=0; 	for(int i=1;i<=n;i++) 	if(b[i]>x)continue; 	else if(b[i]<=x&&b[i]>=l){ 		count=count+(x-b[i])/a[i]+1; 		if(count>=c)return 1; 	} 	else {         count=count+(x-b[i])/a[i]-(l-1-b[i])/a[i];         if(count>=c)return 1;     } 	return 0; } signed main(){ 	scanf("%lld",&n); 	for(int i=1;i<=n;i++) 	scanf("%lld",&a[i]); 	for(int i=1;i<=n;i++) 	scanf("%lld",&b[i]); 	 	scanf("%lld%lld%lld",&l,&r,&c); 	 	l1=l; 	r1=r; 	 	while(l1

喜欢博主的话,点个关注哦😙

相关内容

热门资讯

3分钟分钟!Wepoke测试其... 3分钟分钟!Wepoke测试其实确实是有挂,盛游原来一直都是有挂,详细教程(2020已更新)(哔哩哔...
4分钟分钟!微乐互娱其实真的是... 4分钟分钟!微乐互娱其实真的是有挂,亲朋游戏有辅助器,详细教程(2021已更新)(哔哩哔哩);微乐互...
6分钟分钟!圣盛荆州晃晃麻将其... 6分钟分钟!圣盛荆州晃晃麻将其实真的是有挂的,圣盛荆州晃晃麻将2020已更新详细教程(2020已更新...
1分钟工具!(Wepoke小程... 1分钟工具!(Wepoke小程序)确实是有挂吗,WEPOKE其实一直都是有挂,详细教程(有挂秘诀)-...
7分钟安卓版!(玩牌)确实有挂... 亲,玩牌这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好...
二分钟渠道!(松鼠大厅)其实果... 您好,松鼠大厅这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游戏...
8分钟分钟!南通长牌app有人... 《8分钟分钟!南通长牌app有人操作的,潮汕馆其实是真的有挂的,详细教程(2020已更新)(哔哩哔哩...
五分钟分钟!开元棋牌其实是真的... 您好,开元棋牌这款游戏可以开挂的,确实是有挂的,需要了解加微【841106723】很多玩家在这款游戏...
十分钟脚本!(微扑克透明挂)确... 十分钟脚本!(微扑克透明挂)确实是有挂吗,Wepoke实锤原来是真的有挂,详细教程(有挂攻略)-哔哩...
2分钟分钟!亲友局确实真的有挂... 2分钟分钟!亲友局确实真的有挂猫腻,亲友局2023已更新详细教程(2023已更新)(哔哩哔哩);相信...