题目链接:http://codeforces.com/problemset/problem/731/B
题意:大概是 一共n天,第i天需要买ai个pizza,有两种打折方式,一种是一天买两个pizza,一种是连续两天每天买一个。给出n和n个ai,问有没有可能买的所有的pizza都是打过折的。
分析:二的倍数的pizza,一天内可以用第一种方式。0的话是不能用第二种的,所以就看区间内(用0分隔开的)是不是有偶数个奇数。–>就变成看区间内和是不是偶数。 是的话就是yes,反之则no。(具体看代码。)
(题目给出的范围正好没有爆int,要不然还要%2再加。我是直接加的。)
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,n,ff=1,ss=0;
scanf("%d",&n);
for(int i=0; i<n; i++)
{
scanf("%d",&a);
if(a==0)
{
if(ss%2)
ff=0;
ss=0;
}
ss+=a;
}
if(ss%2)
ff=0;
if(ff)
puts("YES");
else
puts("NO");
}