CF731B Coupons and Discounts

题目描述

编程竞赛季已经开始了,现在是为 ICPC 训练的时候了。Sereja 已经指导他的队伍多年,他知道仅仅准备题目和题解是不够的,因为训练持续数小时,队伍成员会感到饥饿。因此,Sereja 会订购若干个披萨,让大家在比赛结束后能立即用餐。 队伍计划在连续 $n$ 天里训练 $n$ 次。每天训练时,Sereja 会为当天出席的每支队伍恰好订购一个披萨。已知第 $i$ 天有 $a_i$ 支队伍出席。 在 Sereja 最喜欢的披萨店,有两种优惠方式。第一种是当天买两个披萨可以享受折扣,第二种是凭优惠券可以在连续两天各买一个披萨(一共两天各买一个)。 由于 Sereja 总是在这家店大量订购披萨,他是金牌客户,可以在任意天不限次数地使用任意类型的优惠和优惠券。 Sereja 想要在第 $i$ 天恰好购买 $a_i$ 个披萨,且只能使用优惠和优惠券。注意,他不会为了优惠多买披萨。请你帮他判断,他是否可以只用这两种优惠方式且不多买披萨,刚好完成每天的订购。注意,在第 $n$ 天结束后,不能有未用完的优惠券。

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 200000$),表示训练次数。 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($0 \le a_i \le 10000$),表示每一天出席的队伍数。

输出格式

如果存在一种方式,只用优惠和优惠券且每天都恰好订购 $a_i$ 个披萨,请输出一行 “YES”(不带引号);否则输出一行 “NO”。

说明/提示

在第一个样例中,Sereja 可以用一张优惠券在第一天和第二天各买一个披萨,再用一张优惠券在第二天和第三天各买一个披萨,最后一天用一次折扣一次买两个披萨。只有这种方式可以恰好满足订购要求。 在第二个样例中,Sereja 无法使用优惠券或折扣而不多买披萨。注意,有时可能某天没有队伍出席。 由 ChatGPT 5 翻译