333宿舍入睡时间算法编程题
文本内容
当然,一个宿舍中不一定所有同学都会在一起玩,这是因为其中几个人可能喜欢玩原神,而另外一些人喜欢玩明日方舟,还有一些人可能喜欢玩星穹铁道,因此每个人都会不同的倾向性,只会和某些同学一起玩。形式化地来说,宿舍中有m条倾向关系,可以用一条双向边来表示,只要被边连接的两人都还有剩余的体力,那么他们就会一起玩游戏来消耗体力。值得注意的是,这样的倾向关系具有传递性,也就是说如果A和B之间有倾向关系且B和C之间也有传递性,那么A和C之间也会有传递性,最终导致他们三人都会一起玩游戏。特别地,若B已经上床,那么这种倾向关系无法通过B进行传递,最终会导致A和C均选择独自打发时间。
然而,333宿舍最近出现了一个新的不安分因素,那就是新搬入的同学RZ,他的出现打破了原本宿舍中微妙的平衡与和谐,只因他是一位人生赢家,他不会和其他人一起打游戏,而是会自顾自地和Mandy打视频通话。同宿舍的同学们都纷纷破了防,尤其是他们发现当他们体力小于等于0并上床时,他们会被RZ的视频通话吵的无法入睡。具体地说,这n个同学都有各自的忍耐阈值v_i,若第i个同学在某一时刻开始时在床上躺着试图入睡,而RZ却仍然未结束视频通话,那么他将无法入睡,而是在这一时刻结束前积攒H的愤怒值。当他积攒的愤怒值超过了v_i时,他就会重新获得C的体力,并将愤怒值清零,然后继续想办法消耗自己的体力。特别地,如果在愤怒值超过v_i之前,RZ就结束了视频通话,那么他将立即入睡。
与此同时,tangle还发现,那就是包括RZ在内的同学均有一个生物钟固定的入睡时间t_i(t_{n+1}表示RZ的入睡时间),RZ将在t_{n+1}时刻开始时立即结束视频通话并立即入睡,而除了RZ外的第i个同学也不会在t_i时刻及之后再积攒愤怒值(但如果RZ还没结束视频通话那么他也仍然无法入睡)。
现在tangle非常好奇隔壁333宿舍的所有同学都入睡最早是在什么时刻?
Input
第一行包含四个整数n,m,H,C,(1 ≤ n,H,C ≤ 10^3,0 ≤ m ≤ min{\frac{n(n-1)}{2},3 × 10^3})。他们的含义同题目描述。
第二行包含n+1整数。第i个整数t_i(0 ≤ t_i ≤ 10^3),表示第i个同学生物钟的入睡时刻,具体含义同题目描述。特别地,第n+1个整数t_{n+1}表示RZ将在t_{n+1}时刻开始时立即结束视频通话并立即入睡。
整体描述
这是一道设定在宿舍场景下的算法编程题,题目构建了包含原神、明日方舟、星穹铁道玩家的宿舍社交关系规则,加入新同学RZ的视频通话对其他同学入睡的影响机制,包括愤怒值积攒、忍耐阈值、体力恢复、生物钟入睡时间等复杂规则,最终要求计算宿舍所有同学都入睡的最早时刻,同时给出了输入数据的格式与范围说明。
来源说明
这是一张编程题扫描图,页面标注为Page 9 of 14,推测出自某编程竞赛题集或校内算法训练题目,这类题目通常会在在线编程平台(如洛谷、AcWing等)或线下编程竞赛中出现,用于考察参赛者的逻辑建模与算法实现能力。