有一只蜗牛在爬树,树的高度为。
蜗牛每天早上能爬上高度,但在晚上的时候会休息,在牛顿的作用下会下降高度.
如果在第天里,蜗牛能到达树最高处,那么就说蜗牛在第天到达树顶。(注意的是如果在第天的早上能够直接到达处,也表示蜗牛在天到达树顶)。
不幸的是,你不知道树的高度,但至少是一个正整数。
接下来有次询问,询问分为两种类型:
1:一只蜗牛(早上能爬高度,晚上会掉下高度)说它在第天就爬上了树顶,如果这是第一次类型1的询问,则采用它,否则需要判断是否和之前的类型1是否矛盾,如果没矛盾则采用它,有的话就不采用。
2:来了一只蜗牛(早上能爬高度,晚上会掉下高度),它想知道它可以在第几天爬上树顶,如果你知道它可以在具体的第几天爬上树顶,就回答它天数,否则就不回答它。
输入
第一行为测试用例数量,表示有个测试用例。
对于每个测试用例:
第一行输入一个正整数,,表示询问个数。
接下来行,如果是类型1的询问,则这一行包括4个正整数,,, ,第1个数的值为1时,表示其询问类型为1,接下来三个数表示蜗牛早上爬的高度,晚上掉下来的高度,和在第几天到达树顶。
类型2的询问的话,该行包括3个正整数,第一个数表示其询问类型为2,接下来两个数, 表示蜗牛早上爬的高度,晚上掉下来的高度。
可以知道的是所有测试用例的询问次数的总和不超过。
输出
对于每个测试用例,输出一行q个用空格隔开的数,对应每次询问的答案。
对于类型1的询问,如果采用了的话输出1,否则输出0。
对于类型2的询问,如果可以确定爬上树顶的天数,则输出该天数,否则输出-1。
样例
标准输入 复制文本 |
5 3 1 3 2 5 2 4 1 2 3 2 3 1 6 5 1 2 3 1 2 6 2 3 1 4 2 2 1 2 1 3 2 10 2 9 1 7 3 6 1 2 1 8 2 5 1 1 10 9 7 1 8 1 2 1 10 5 8 1 10 7 7 2 7 4 1 9 4 2 9 1 2 1 6 1 8 5 6 1 4 2 7 2 9 1 1 5 1 4 1 5 2 7 1 7 1 9 1 9 1 4 2 10 8 |
标准输出 复制文本 |
1 2 5 1 -1 1 1 0 1 1 0 -1 0 0 0 1 8 0 1 0 0 1 0 0 0 0 1 |
提示
推荐去原题处提交