题目
题意
给出n天需要购买的披萨数量。有两种购买方式:1.当天送达两个;2.当天送达一个,次日送达一个。问能否达成所给的数量。
参考了其他作者的思路。从后向前检查,若遇到奇数,则必定有一个来自前一天。若途中出现负数则不满足。最后检查第一天是否为偶数个即可。
代码
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,s[200000],cnt=0;
cin>>n;
for(int i=0; i<n; i++) {
cin>>s[i];
}
for(int i=n-1;i>=0;i--){
if(s[i]<0) {printf("NO\n");return 0;}
if(s[i]%2==1) s[i-1]--;
}
if(s[0]%2==0) printf("YES\n");
else printf("NO\n");
return 0;
}
网友评论