AT_icpc2016autumn_f Escape from the Hell
题目描述
一天,佛陀在地狱里发现了一个上班族。他作恶多端,甚至强迫下属加班。然而,他在一生中还是做了一件善事:为了救下属的性命,他拒绝了客户的一个不合理要求。佛陀认为,作为这件善事的奖励,这个上班族应该有一次从地狱逃脱的机会。佛陀取来一根蜘蛛丝,把它垂入地狱。
这个上班族顺着蜘蛛丝向上爬,但路程长达 $L$ 米,一天之内无法逃出。他有 $N$ 瓶能量饮料,每天喝一瓶。喝下第 $i$ 瓶能量饮料的那一天,他白天可以爬 $A_i$ 米,之后在夜里滑下 $B_i$ 米。如果他白天能到达高度大于或等于 $L$ 米的位置,他就能逃脱,而不会滑下。$N$ 天之后,蛛丝就会被切断。
他意识到其他罪人在夜里也爬这根蛛丝。他们在第 $i$ 个夜晚爬 $C_i$ 米,白天不会滑下。如果他们追上了这个上班族,他们就会发生冲突,蛛丝就会被切断。因此,他必须在其他罪人追上他之前逃脱。你的任务是编写一个程序,计算能量饮料的最佳饮用顺序,并输出他能够逃脱的最早天数。如果他无法逃脱,程序应输出 $-1$。
输入格式
>$N$ $L$
>$A_1$ $B_1$
>$\dots$
>$A_N$ $B_N$
>$C_1$
>$\dots$
>$C_N$
第一行两个整数 $N(1\le N\le 10^5)$ 和 $L(1\le L\le 10^5)$,依次为能量饮料的数量和蜘蛛丝的长度。
接下来 $N$ 行每行代表一瓶能量饮料:喝了这瓶饮料后,他白天可以爬 $A_i(1\le A_i \le 10^9)$ 米,晚上会滑下 $B_i(1\le B_i\le 10^9)$ 米。
然后 $N$ 行每行一个整数,第 $i$ 个整数 $C_i(1\le C_i\le 10^9)$ 代表罪人们在第 $i$ 天往上爬 $C_i$ 米。
输出格式
输出他能够逃脱的最早天数。如果他无法逃脱,输出 $-1$。
说明/提示
题目背景来源于芥川龙之介著短篇小说《蜘蛛丝》。——译者注