2559: 蒜头君当大厨

Memory Limit:128 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:2 Solved:1

Description

蒜头君苦练厨艺,终于成为了某高档酒店的大厨。

每天上班,蒜头君会被要求做 nnn 份菜。既然是高档酒店,那么客人们当然是很讲究的,尤其对于上菜的时间有很多要求。客人们的要求被分成下列四种:

  1. 菜品 aaa 的上菜时间必须比菜品 bbb 的上菜时间早 ddd 分钟或者更早。

  2. 菜品 aaa 的上菜时间必须比菜品 bbb 的上菜时间迟 ddd 分钟或者更迟。

  3. 菜品 aaa 的上菜时间在 ddd 分钟以后(包含 ddd 分钟)。

  4. 菜品 aaa 的上菜时间在 ddd 分钟之前(包含 ddd 分钟)。

蒜头君的上班时间记为 000 分钟。为了节约时间,在满足客人们要求的情况下,蒜头君希望最后上的一道菜的时间尽可能的早。(每道菜的上菜时间必须不早于蒜头君的上班时间

输入格式

第一行输入一个整数 nnn,表示一共需要上 nnn 道菜。

第二行输入一个整数 mmm,表示客人们的要求数量。

接下里 mmm 行,每行先输入一个整数 opopop

  • 如果 op=1op=1op=1,表示描述里的第 111 种要求,后面跟着三个整数 a,b,da,b,da,b,d
  • 如果 op=2op=2op=2,表示描述里的第 222 种要求,后面跟着三个整数 a,b,da,b,da,b,d
  • 如果 op=3op=3op=3,表示描述里的第 333 种要求,后面跟着两个整数 a,da,da,d
  • 如果 op=4op=4op=4,表示描述里的第 444 种要求,后面跟着两个整数 a,da,da,d

输出格式

如果蒜头君能满足客人们的要求,输出最后一道菜的上菜时间;否则输出一行 I can't

数据范围和约定

对于 30%30\%30% 的数据:1n41 \le n \le 41n41m101 \le m \le 101m100d100 \le \mid d \mid \le 100d10

对于 60%60\%60% 的数据:1n10001 \le n \le 10001n1000,并且输入保证有解。

对于 100%100\%100% 的数据:1n,m200001 \le n, m \le 200001n,m200001d100001 \le \mid d \mid \le 100001d100001a,bn 1 \le a, b \le n1a,bnaba \ne bab

样例解释 1

1,2,31, 2, 31,2,3 的上菜时间分别为 0,2,120, 2, 120,2,12,这样能满足输入客人们的所有要求,并且时间最短。

样例解释 2

t3t1+9t_3 \ge t_1 + 9t3t1+9t1t31t_1 \ge t_3 -1t1t31,合并以后得到 t1t1+8t_1 \ge t_1 + 8t1t1+8,不可能满足客人们的所有要求。

样例输入1

3
5
2 3 2 10
2 2 1 2
2 3 2 5
1 2 3 7
3 3 9

样例输出1

12

样例输入2

3
4
3 1 3
2 3 1 9
2 1 3 -1
1 1 2 5

样例输出2

I can't

样例输入3

17
20
2 6 3 -21
1 8 2 54
3 7 -95
4 11 44
1 5 15 40
3 9 1
3 3 30
3 8 23
2 9 12 -15
4 13 61
2 3 7 31
1 5 10 -15
2 16 1 43
2 12 3 -79
2 14 16 -51
3 6 48
4 7 0
2 10 11 -59
2 12 17 -29
3 4 10

样例输出3

77

加入题单

上一题 下一题 算法标签: