zoukankan      html  css  js  c++  java
  • Codeforces 376B. Coupons and Discounts

    B. Coupons and Discounts
    time limit per test
    1 second
    memory limit per test
    256 megabytes
    input
    standard input
    output
    standard output

    The programming competition season has already started and it's time to train for ICPC. Sereja coaches his teams for a number of year and he knows that to get ready for the training session it's not enough to prepare only problems and editorial. As the training sessions lasts for several hours, teams become hungry. Thus, Sereja orders a number of pizzas so they can eat right after the end of the competition.

    Teams plan to train for n times during n consecutive days. During the training session Sereja orders exactly one pizza for each team that is present this day. He already knows that there will be ai teams on the i-th day.

    There are two types of discounts in Sereja's favourite pizzeria. The first discount works if one buys two pizzas at one day, while the second is a coupon that allows to buy one pizza during two consecutive days (two pizzas in total).

    As Sereja orders really a lot of pizza at this place, he is the golden client and can use the unlimited number of discounts and coupons of any type at any days.

    Sereja wants to order exactly ai pizzas on the i-th day while using only discounts and coupons. Note, that he will never buy more pizzas than he need for this particular day. Help him determine, whether he can buy the proper amount of pizzas each day if he is allowed to use only coupons and discounts. Note, that it's also prohibited to have any active coupons after the end of the day n.

    Input

    The first line of input contains a single integer n (1 ≤ n ≤ 200 000) — the number of training sessions.

    The second line contains n integers a1, a2, ..., an (0 ≤ ai ≤ 10 000) — the number of teams that will be present on each of the days.

    Output

    If there is a way to order pizzas using only coupons and discounts and do not buy any extra pizzas on any of the days, then print "YES" (without quotes) in the only line of output. Otherwise, print "NO" (without quotes).

    Examples
    Input
    4
    1 2 1 2
    Output
    YES
    Input
    3
    1 0 1
    Output
    NO
    Note

    In the first sample, Sereja can use one coupon to buy one pizza on the first and the second days, one coupon to buy pizza on the second and the third days and one discount to buy pizzas on the fourth days. This is the only way to order pizzas for this sample.

    In the second sample, Sereja can't use neither the coupon nor the discount without ordering an extra pizza. Note, that it's possible that there will be no teams attending the training sessions on some days.

    /*
    ACM训练队要训练n天,第i天有ai个队训练,每个队伍需要一张披萨,教练去买披萨。有两种优惠券第一种是一次买两张,另一种是第一天买一张,
    第二天必须买一张。优惠券无限多,问教练能不能用优惠券买全部的披萨,每天买的披萨不会超过需求,且优惠券不能浪费。
    
    贪心:贪心的原则就是尽量不使第二天的数量受影响,就是第一天的能用没两张披萨的优惠圈就用这个,实在不行才用买一张的。
    */
    #include<iostream>
    #include<string.h>
    #include<string>
    #include<algorithm>
    #include<stdio.h>
    #include<vector>
    #include<map>
    #include<set>
    #define N 200010
    using namespace std;
    int main()
    {
        //freopen("C:\Users\acer\Desktop\in.txt","r",stdin);
        int n,a[N];
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        int f=0;
        for(int i=1;i<n;i++)
        {
            if(a[i]%2)//奇数个
            {
                if(!a[i+1])
                {
                    f=1;
                    break;
                }    
                a[i+1]--;
            }
        }
        if(f)
        {
            puts("NO");
            return 0;
        }    
        if(a[n]%2==0)
            puts("YES");
        else
            puts("NO");
        return 0;
    }
  • 相关阅读:
    大数据学习系列之九---- Hive整合Spark和HBase以及相关测试
    基于SpringBoot开发一个Restful服务,实现增删改查功能
    大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
    一个两年java程序猿的2017个人总结
    大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解
    大数据学习系列之六 ----- Hadoop+Spark环境搭建
    大数据学习系列之五 ----- Hive整合HBase图文详解
    大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)
    使用VMware安装linux虚拟机以及相关配置
    大数据学习系列之三 ----- HBase Java Api 图文详解
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/5967632.html
Copyright © 2011-2022 走看看