luogu#P11393. [JOI Open 2019] 送金

[JOI Open 2019] 送金

题目描述

译自 JOI Open 2019 T2 「送金」

JOI 王国的河狸湖边有 NN 座房子,按逆时针方向给房子从 11NN 编号。

站在湖所在的位置看,每一座房子可以给它左边相邻的房子汇款,即:对于房子 i (1iN1)i\ (1\le i\le N-1),它左边的房子是房子 i+1i+1,对于房子 NN,它左边的房子为房子 11。然而,汇一笔款的手续费等于汇款金额。汇款金额必须是一个整数。当你汇款的时候,你必须交手续费,所以汇款钱数和手续费之和不能超出房子里的钱数。

目前,房子 i (1iN)i\ (1\le i\le N) 里有 AiA_i 元。另一方面,从收税的角度来看,我们希望房子 ii 里的钱数等于 BiB_i。因此你希望利用汇款系统使得房间 ii 里钱数等于 BiB_i 元。你不能通过除给别的房子汇款和交手续费之外的方式花掉钱。

给定每座房子目前有的钱数和期望钱数,写一个程序判断能否使得每间房子都达到期望的钱数。

输入格式

11 行一个整数 NN

2N+12\sim N+1 行,每行两个整数 Ai,BiA_i,B_i,分别表示房子 ii 的目前钱数和期望钱数,用空格隔开。

输出格式

如果可以满足要求,输出 Yes,否则输出 No

5
0 0
1 0
2 3
3 3
4 0
Yes
5
0 0
1 2
2 4
3 2
4 0
No
2
1 1
2 1
No
2
1 1
2 2
Yes

提示

数据范围:

2N1062\le N\le 10^60Ai1090\le A_i\le 10^91iN1\le i\le N),0Bi1090\le B_i\le 10^91iN1\le i\le N)。

子任务:

  1. (15 分)N7N\le 7Ai5A_i\le 5Bi5B_i\le 51iN1\le i\le N)。
  2. (40 分)N20N\le 20
  3. (45 分)没有额外约束。

样例解释:

举例来说,你可以按照以下支付方式,满足要求。

  1. 房子 515\to 1,支付 22 元。花费 22 元。
  2. 房子 121\to 2,支付 11 元。花费 11 元。
  3. 房子 232\to 3,支付 11 元。花费 11 元。

你不能以任何方式满足要求。

注意钱必须以 11 元作为单位支付。

你不需要使用支付系统。