zoukankan      html  css  js  c++  java
  • HHUOJ 1040

    1040: 一起喝果汁

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 69  解决: 28
    [提交][状态][讨论版][命题人:admin]

    题目描述

    kyoma和mirror都十分的爱喝果汁,于是她们在网上新买了一个榨汁机准备榨果汁喝。可是这个榨汁机的容量D十分有限,一次只能放进一个橙子,并且如果橙子的大小严格超过了B时就不能放进榨汁机。当榨汁机内的橙子大小大于等于榨汁机容量的时候,才能够榨出一杯果汁。榨完一杯果汁后,榨汁机就会清空。
    现在她们俩买了N个橙子a1,a2,...,an,按照a1,a2,...,an的顺序放进榨汁机,那么她们最多能喝到多少杯果汁呢?
    (假设橙子变为橙汁时质量体积均不变)

    输入

    输入有多组测试数据(总数据不超过25组),直到文件末尾结束。
    输入第一行有3个数字N(1<=N<=1000),B,D(1<=B<=D<=1000000);
    N:表示有N个橙子。
    B:榨汁机最大容纳的橙子大小。
    D:榨汁机的容量
    输入第二行有N个数字a1,a2,...,an(1<=ai<=10000),表示每个橙子的大小

    输出

    每行输出一个数字,表示果汁的杯数。

    样例输入

    2 7 10
    5 6
    
    1 5 10
    7
    
    3 10 10
    5 7 7
    
    1 1 1
    1

    样例输出

    1
    0
    1
    1

    提示

    对于样例2:第一个橙子7>5,放不进榨汁机,因此喝到0杯果汁

    对于样例3:第一个橙子放进后榨汁机内有5,第二个橙子放进后5+7>=10,榨出1杯果汁,榨汁机清空,第三个橙子放进后榨汁机内为7<10,不榨汁;因此总杯数为1。

     
     
    stl解决,就是太慢了。。
     
    #include <iostream>
    #include <stdio.h>
    #include <cstring>
    #include <deque>
    #include <algorithm>
     
    using namespace std;
     
    const int maxn = 1005;
    int n, b, d;
    int k ;
    int sz;
    int org[maxn];
    deque<int> mac;
     
    bool s(deque<int> m)
    {
        int sum = 0;
        for (int i = 0; i != m.size(); ++i)
        {
            sum += m[i];
        }
        if (sum >= d)
            return 1;
        else
            return 0;
    }
    int main(void)
    {
        while (scanf("%d%d%d", &n, &b, &d) != EOF)
        {
            k = 0;
            mac.clear();
            int count = 0;
            memset(org, 0, sizeof(org));
            int i;
            for (i = 0; i != n; ++i)
            {
                scanf("%d", &sz);
                if (sz <= b)
                {
                    org[k] = sz;
                    k++;
                }
            }
            if (k == 0)
            {
                cout << 0 << endl;
                continue;
            }
            else
            {
                for (i =0;i<k; i++)
                {
                    mac.push_back(org[i]);
                    if (s(mac))
                    {
                        count++;
                        mac.clear();
                    }
                }
                cout << count << endl;
            }
        }
        return 0;
    }

  • 相关阅读:
    hdu 5444 Elven Postman 二叉树
    tensorflow2.x模型保存问题
    【NVIDIA】Win10 + CUDA10 + cuDNN 安装教程(转载)和遇到的坑
    windows下 为不同虚拟环境配置不同的cuda
    多线程
    socket编程
    引用类型和值类型
    记录报错
    github下载慢问题
    LabelImg的安装出现No module named 'libs.resources'错误
  • 原文地址:https://www.cnblogs.com/CofJus/p/10083262.html
Copyright © 2011-2022 走看看