#codefestival2015okinawai. [code_festival_2015_okinawa_i]Implementation Addict
[code_festival_2015_okinawa_i]Implementation Addict
问题
Wolf Sothe非常喜欢设计在线评测系统的问题,他想要尽可能地解决问题。然而,如果他每天都不休息地解决问题,那么渐渐地,他每天能够解决的问题数量将会减少。
因此,有时候Wolf Sothe需要休息一天。在那一天,他不解决任何问题,然后在接下来的日子里,他又可以继续解决问题了。
Wolf Sothe每天可以解决的问题数量如下:
- 如果某一天是工作日,我们定义Wolf Sothe已经连续解决问题的天数为(不包括那一天)。那么在那一天,Wolf Sothe最多可以解决个问题。
- 如果某一天是休息日,那天不会解决任何问题。
Wolf Sothe想要解决问题的天数为天。假设在第1天之前的日子里,Wolf Sothe没有解决过问题。
另外,我们预先知道有一些已经确定的休息日。
给出所有已确定的休息日列表。对于其他的日子,你可以标记它们为休息日或者工作日。请找出在天内可以解决的问题数量的最大值。
输入
输入将通过标准输入给出,格式如下:
:
- 第一行为四个整数,用空格分隔:,,,。表示已确定的休息日的数量。
- 接下来的行为额外的个整数,表示已确定的休息日。第行的整数表示第天是一个确定的休息日。请注意,如果,则。
输出
请在一行中输出在天内可以解决的问题数量的最大值。
输出结束时换行。
输入示例 1
5 6 2 0
输出示例 1
20
假设Wolf Sothe在第3天休息,然后在剩下的4天里解决问题。
- 对于第1天,Wolf Sothe已经连续解决问题的天数为天。因此,个问题。
- 对于第2天,Wolf Sothe已经连续解决问题的天数为天。因此,个问题。
- 对于第3天,Wolf Sothe休息。因此,个问题。
- 对于第4天,Wolf Sothe已经连续解决问题的天数为天。因此,个问题。
- 对于第5天,Wolf Sothe已经连续解决问题的天数为天。因此,个问题。
总共解决的问题数量为。
输入示例 2
6 4 3 1
3
输出示例 2
13
输入示例 3
12 10 3 3
2
7
10
输出示例 3
71