编程题
### 问题描述
一个书店的老板每天都会根据顾客的需求和市场情况调整书本的定价。然而,这并不是一个简单的任务,因为书店中的每本书都有一个基础价格,但老板可以选择在基础价格上增加一些额外的价格来提高收入。他希望通过在某些书本上加价,可以达到一个目标销售总额。
现在,给你一个书本的基础价格列表 $prices$ 和一个目标销售总额 $target$。问你是否可以通过为 $prices$ 中的某些书增加 $1$ 的额外价格(每本书只能加价一次),使得整个 $prices$ 中的书的总销售额等于 $target$。
### 输入格式
第一行包含一个整数 $n$ ($1 \leq n \leq 10^5$),表示书本的数量。
第二行包含 $n$ 个整数,每个整数 $a_i$ ($1 \leq a_i \leq 100$) 表示第 $i$ 本书的基础价格。
第三行包含一个整数 $target$ ($n \leq target \leq n \times 101$),表示目标销售总额。
### 输出格式
如果可以通过增加某些书的价格达到目标销售总额,则输出 `Yes`,否则输出 `No`。
### 样例输入
```
5
10 20 30 40 50
152
```
### 样例输出
```
Yes
```
### 样例说明
在这个样例中,我们可以选择增加第 $2$ 本书和第 $4$ 本书的价格,总销售额就会变成 $10 + 21 + 30 + 41 + 50 = 152$,达到了目标销售总额。
### 测评数据规模
对于 $40$% 的数据,$n \leq 10^2$。
对于 $80$% 的数据,$n \leq 10^3$。
对于 $100$% 的数据,$n \leq 10^5$。