#P51172. 「JOI Open 2019」汇款

「JOI Open 2019」汇款

题目描述

译自 JOI Open 2019 T2 「送金 / Remittance

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 元。你不能通过除给别的房子汇款和交手续费之外的方式花掉钱。

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

输入格式

第一行一个整数 NN,表示房子数目;

接下来 NN 行,每行两个非负整数 Ai,BiA_i,B_i,分别表示房子 ii 的目前钱数和期望钱数。

输出格式

如果能让所有房子内钱数等于期望钱数,输出 Yes,否则输出 No

样例 1

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

例如,按以下方法,可以让所有房子内钱数等于期望钱数。

  1. 从房子 55 给房子 1122 元,并交手续费 22 元;
  2. 从房子 11 给房子 2211 元,并交手续费 11 元;
  3. 从房子 22 给房子 3311 元,并交手续费 11 元。
5
0 0
1 2
2 4
3 2
4 0
No

通过汇款系统,你不可能使得所有房子的钱数等于期望钱数。

2
1 1
2 1
No

注意汇款金额必须是整数。

2
1 1
2 2
Yes

你不需要使用汇款系统。

数据范围与提示

对于全部数据,1N106,0Ai,Bi1091\le N\le 10^6,0\le A_i,B_i\le 10^9

详细子任务附加限制及分值如下:

  • 子任务 111515 分):N7,Ai,Bi5N\le 7,A_i,B_i\le 5
  • 子任务 224040 分):N20N\le 20
  • 子任务 334545 分):无附加限制。