CF2110C.Racing
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 2077 年,一项名为"业余无人机竞速"的运动在机器人中越来越流行。
你已经拥有一架无人机,并且想要获胜。为此,你的无人机需要飞越一个包含 n 个障碍物的赛道。
第 i 个障碍物由两个数字 li,ri 定义。设你的无人机在第 i 个障碍物处的高度为 hi,那么当且仅当 li≤hi≤ri 时,无人机才能通过该障碍物。初始时无人机位于地面,即 h0=0。
无人机的飞行程序由一个数组 d1,d2,…,dn 表示,其中 hi−hi−1=di,且 0≤di≤1。这意味着你的无人机在障碍物之间要么保持高度不变,要么上升 1 个单位。你已经有一个飞行程序,但其中某些 di 未知并被标记为 −1。你需要将这些未知的 di 替换为 0 或 1,以创建一个能完整通过所有障碍物的飞行程序,或者报告这是不可能的。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤2⋅105)——数组 d 的大小。
每个测试用例的第二行包含 n 个整数 d1,d2,…,dn(−1≤di≤1)——数组 d 的元素。di=−1 表示该 di 是未知的。
接下来 n 行,每行包含 2 个整数 li,ri(0≤li≤ri≤n)——障碍物的描述。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对于每个测试用例,如果能够正确恢复数组 d,则输出 n 个整数 d1,d2,…,dn;如果不可能,则输出 −1。
输入输出样例
输入#1
5 4 0 -1 -1 1 0 4 1 2 2 4 1 4 3 0 -1 -1 0 1 2 2 0 3 2 -1 -1 0 0 2 2 8 -1 -1 1 -1 -1 0 0 -1 0 0 0 1 0 2 0 2 1 3 0 4 2 5 4 5 1 0 1 1
输出#1
0 1 1 1 -1 -1 0 1 1 0 1 0 0 1 -1
说明/提示
在第一个测试用例中,一个可能的答案是 d=[0,1,1,1]。此时数组 h 将为 [0,0+1,0+1+1,0+1+1+1]=[0,1,2,3]。这个数组满足题目条件。
在第二个测试用例中,可以证明不存在满足条件的数组 d,因此答案为 −1。
翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?