如果当天有m支队伍,昨天选择了k个B方案,那么今天还需要买m-k个披萨,如果m-k是奇数,那就先买一种B,剩下的全部买A,如果是偶数,全部买A。如果中途出现只有0支队伍,然而昨天却买了一次B,那么直接退出,否则最后判断是否有剩余披萨就行。
AC代码:
#include<cstdio> int main(){ int n; while(scanf("%d",&n)!=EOF){ int c,now=0; int flag=1; for(int i=0;i<n;++i){ scanf("%d",&c); if(c<now) { flag=0; } if((c-now)&1) now=1; else now=0; } if(now||!flag) printf("NO\n"); else printf("YES\n"); } return 0; }
如有不当之处欢迎指出!