1359: 保卫战
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:1
Solved:1
Description
H国突然对W国发起了进攻,但是W国并没有任何的准备,W国国王决定去找大法师寻求帮助,大法师说,"我可以帮助你让你的一部分士兵恢复体力,并且可以让你的士兵体力不足时继续进行战斗,但是我只能待一段时间,只要你的士兵至少有一个还有体力,那这场战斗的胜利将属于你们"。
大法师只能待m个时间单位。在每个时间单位,W国的部分士兵将受到伤害并且减少相同的体力,或者接受大法师的治疗,恢复相同的体力。你需要知道这次的战争是否会胜利,以及每个士兵的体力。国王的每个士兵编号从1到n,体力为$[a_1,a_2,...,a_i,...,a_n]$.每个时刻为(op,l,r,x) ,op=0,表示编号在[l,r]的士兵接受x的体力恢复;op=1,表示[l,r]的士兵减少x的体力
例如:
刚开始每个士兵体力为[1,2,3]
第一个时刻为(0,1,3,2)之后 变为了[3,4,5]
第二个时刻为(1,3,3,1)之后 变为了[3,4,4]
第三个时刻为(1,1,2,4)之后 变为了[-1,0,4]
编号为3的士兵体力为:4>0,因此战斗胜利
数据范围
all: $1\leq l,r\leq n$
70 分 :$n\leq10^4,m\leq10^3$
100分:$n\leq10^5,m\leq10^5$
大法师只能待m个时间单位。在每个时间单位,W国的部分士兵将受到伤害并且减少相同的体力,或者接受大法师的治疗,恢复相同的体力。你需要知道这次的战争是否会胜利,以及每个士兵的体力。国王的每个士兵编号从1到n,体力为$[a_1,a_2,...,a_i,...,a_n]$.每个时刻为(op,l,r,x) ,op=0,表示编号在[l,r]的士兵接受x的体力恢复;op=1,表示[l,r]的士兵减少x的体力
例如:
刚开始每个士兵体力为[1,2,3]
第一个时刻为(0,1,3,2)之后 变为了[3,4,5]
第二个时刻为(1,3,3,1)之后 变为了[3,4,4]
第三个时刻为(1,1,2,4)之后 变为了[-1,0,4]
编号为3的士兵体力为:4>0,因此战斗胜利
数据范围
all: $1\leq l,r\leq n$
70 分 :$n\leq10^4,m\leq10^3$
100分:$n\leq10^5,m\leq10^5$
Input
第一行为两个正整数n,m
第二行为n个正整数表示编号从1到n的每个士兵的体力
接下的m行为:每行四个正整数(op,l,r,x)
第二行为n个正整数表示编号从1到n的每个士兵的体力
接下的m行为:每行四个正整数(op,l,r,x)
Output
第一行为"YES"or"NO";表示:如果有士兵还有体力(值大于0)则"YES"否则为"NO"(你无需打印双引号"")
第二行为n个整数,表示士兵的体力(可以为负数),每个正整数用一个空格隔开
第二行为n个整数,表示士兵的体力(可以为负数),每个正整数用一个空格隔开
Sample Input Copy
3 3
1 2 3
0 1 3 2
1 3 3 1
1 1 2 4
Sample Output Copy
YES
-1 0 4