#P2000. 乌拉乎备考

乌拉乎备考

题目描述

距离期末考试还有 nn 天时间,乌拉乎严厉的父母要求立刻提前复习准备考试,因为考试不合格的后果是很严重的。 乌拉乎复习完所有内容所需要的总时间为 TT 小时,在备考复习期间,他被要求第 ii 天最少复习 minTime[i]minTime[i] 小时,而乌拉乎第 ii 天最多能够承受的最多学习时间为 maxTime[i]maxTime[i] 小时。 现在乌拉乎想知道在接下来的 nn 天,他是否能够既安排出足够的时间同时又能达到父母的要求每天至少学习minTime[i]minTime[i]小时,如果计划可行,他希望列出一个复习时间计划表,包含dd 个数,每个数 t[i]t[i] 表示乌拉乎第 ii 天复习的时间(单位为小时),当然,由于乌拉乎是一个有拖延症的人,所以他会习惯性的在前期偷懒,把所有事情都推到最后,直到不得不完成。

输入格式

11 行包含两个正整数 nnTT,分别表示距离考试的天数,需要安排的复习总时间。

接下来的 nn 行,每行两个整数 minTimeminTimemaxTimemaxTime,表示第 ii 天能复习的最少时间和最多时间。

输出格式

11 行,如果能够安排出足够的时间,则输出“YES”,否则输出“NO”。 如果有解,第 22 行 输出 nn 个整数,分别表示第 ii 天复习所用时间。

样例1

3 10
4 5
4 8
3 6
NO
样例1解释

第1天和第2天最少复习4小时,第3天只需复习2小时就复习完了,但是被要求最少需要复习3小时,虽然可以完成10小时的复习时间,但是无法达到父母的要求。

样例2

3 6
0 1
0 5
3 6
YES
0 0 6
样例2解释

因为乌拉乎是一个拖延的人,所以第3天能完成复习时间,同时也完成父母的要求,那么他决不会在第1天和第2天提前完成。

数据范围

1n200000;1 ≤ n ≤ 200000; 0T1600000;0 ≤ T ≤ 1600000; 0minTimemaxTime80 ≤ minTime ≤ maxTime ≤ 8。