bzoj#P1594. [Usaco2008 Jan]猜数游戏

[Usaco2008 Jan]猜数游戏

题目描述

为了提高自己低得可怜的智商,奶牛们设计了一个新的猜数游戏,来锻炼她们的逻辑推理能力。 游戏开始前,一头指定的奶牛会在牛棚后面摆 nn 堆干草,每堆有若干捆,并且没有哪两堆中的草一样多。所有草堆排成一条直线,从左到右依次按 n\sim n 编号。

然后,游戏开始。另一头参与游戏的奶牛会问那头摆干草的奶牛 qq 个问题,问题的格式如下: 编号为 lrl\sim r 的草堆中,最小的那堆里有多少捆草? 对于每个问题,摆干草的奶牛回答一个数字 aa,但或许是不想让提问的奶牛那么容易地得到答案,又或许是她自己可能记错每堆中干草的捆数,总之,她的回答不保证是正确的。 请你帮助提问的奶牛判断一下,摆干草的奶牛的回答是否有自相矛盾之处。

输入格式

  • 第一行: 22 个用空格隔开的整数:nnqq

  • 22 至第 q+1q+1 行: 每行为 33个用空格隔开的整数 l,r,al,r,a,描述了一个问题以及它对应的回答

输出格式

  • 第一行: 如果摆干草的奶牛有可能完全正确地回答了这些问题(也就是说,能找到一种使得所有回答都合理的摆放干草的方法),输出 00,否则输出一个 11qq 中的数,表示这个问题的答案与它之前的那些回答有冲突之处。
20 4
1 10 7
5 19 7
3 12 8
11 15 12
3

数据规模与约定

对于 100%100\% 的数据,保证 1n1061 \leq n\leq 10^61q250001 \leq q \leq 250001lrn1\leq l \leq r \leq n,每堆中的草数在 11091\sim 10^9 之间。

提示

注意:如果有冲突出现输出一个数 mm,使得前 m1m-1 个命题不冲突。

样例解释如下:

编号为 1101\sim 10 的草堆中,最小的那堆里有 77 捆草,编号为 5195\sim 19 的草堆中同样 如此;编号为 3123\sim 12 的草堆中最小的堆里是 88 捆草,111511\sim 15 堆中的最小的堆里是 1212 捆。

对于第 33 个问题 312“3\quad 12” 的回答 8“8” 与前面两个回答冲突。因为每堆中草的捆数唯一,从前两个回答中我们能推断出,编号为 5105\sim 10 的干草堆中最小的那堆里有 77 捆干草。很显然,第 33个问题的回答与这个推断冲突。

题目来源

Usaco2008 Jan Gold