问题 G: 搬书

时间限制: 1 Sec  内存限制: 128 MB
提交: 576  解决: 49
[提交][状态][讨论版]

题目描述

XCQ队长要退役啦,由于队长常年刷题,机位上摆着各类算法书,一个人实在是搬不动,所以他叫来了他的小弟ZZX帮忙搬书。队长突然灵机一动,给ZZX出了一个问题。

假设机位上有n本书,每本书的体积分别为ai,那么如果使用容量为V的书包来装书最少要几个书包呢?(注意书是不可拆分的,整体要么装到一个书包,要么不装)。

ZZX(冥思苦想): 不会呀。

XCQ: 看你这么弱,我就把问题再简化一下好啦,让每个书包只装不超过两本书, 那么用k(2 * k >= n)个体积为V的书包能否装完n本书呢?

ZZX(又是一阵冥思苦想): 队长放过我吧,实在是不会啊。

XCQ: 长江后浪推前浪, 既然如此,就把这个问题交给后浪们吧。

输入

第一行包含一个数字T(T <= 60), 表示测试数据组数。然后一空行,随后有T组数据。

每组测数据格式如下:

第一行包含三个数字n,k,V(1 <= n <= 1000000, n <= 2 * k <= 1000000, 1 <= V <= 1000000),表示有n本书,使用k个容量为V的书包。

第二行n个数,表示每本书的体积ai(ai <= 1000000)。所有数据保证给出的n个数是非递减的。

每组数据后面有一空行。

输出

每组数据输出一行, 如果能够装完所有书本输出"Yes",否则输出"No",引号不需要输出,注意字母大小写。

样例输入

3

4 5 8
1 5 6 8 3 2 7
3 5 7 10 5 108
15 15 20 28 38 44 46 52 69 94

样例输出

Yes
No
No 判断最后一个是否大于最大容量。然后判断k个包够不够装
#include <cstdio>
int t,n,k,v,i,j,s[],ans,flag,op;
int main()
{
scanf("%d",&t);
while(t--)
{
flag=,i=,j=;
for(scanf("%d%d%d",&n,&k,&v),i=;i<n;i++) scanf("%d",&s[i]);
if(s[n-]>v) flag=;
else if(k>=n)
{
if(s[n-]>v) flag=;
else flag=;
}
else
{
i=,j=(n-k)*-;
while(i<j)
{
if(s[i++]+s[j--]>v)
{
flag=;
break;
}
}
}
if(flag) printf("Yes\n");
else printf("No\n");
}
return ;
}

hnust 搬书的更多相关文章

  1. 【题解】搬书-C++

    搬书 Description 陈老师桌上的书有三堆,每一堆都有厚厚的一叠,你想逗一下陈老师,于是你设计一个最累的方式给他,让他把书 拿下来给同学们.若告诉你这三堆分别有i,j,k本书,以及每堆从下到上 ...

  2. 洛谷U36590搬书

    题目背景 陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖,牟取暴利.前些天,高一的新同学来了,他便像往常一样,兜售他的书,经过一番口舌,同学们决定买他的书,但是陈老师桌上的书有三堆,每一堆都 ...

  3. C语言搬书学习第一记 —— 认识一个简单程序的细节

    #include<stdio.h> /*告诉编译器把stdio.h 中的内容包含在当前程序中,stdio.h是C编译器软件包的标准部分,它提供键盘输入和 屏幕输入的支持studio.h文件 ...

  4. Concurrency != Parallelism

    前段时间在公司给大家分享GO语言的一些特性,然后讲到了并发概念,大家表示很迷茫,然后分享过程中我拿来了Rob Pike大神的Slides <Concurrency is not Parallel ...

  5. NRF51822之ADC(1)

    在开始讲解的前,我们不生产水,我们只是大自然的搬运工.开始搬手册(nRF51 Series Reference Manual Version 3.0)上的资料

  6. 【底层原理】深入理解Cache (上)

    存储器是分层次的,离CPU越近的存储器,速度越快,每字节的成本越高,同时容量也因此越小.寄存器速度最快,离CPU最近,成本最高,所以个数容量有限,其次是高速缓存(缓存也是分级,有L1,L2等缓存),再 ...

  7. 洛谷 P1777 帮助_NOI导刊2010提高(03) 解题报告

    P1777 帮助_NOI导刊2010提高(03) 题目描述 Bubu的书架乱成一团了!帮他一下吧! 他的书架上一共有n本书.我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31 ...

  8. 2017 济南综合班 Day 6

    循环移动 (cyclic.cpp/c/pas) (1s/256M) 问题描述 给出一个字符串S与N个操作.每个操作用三元组(L, R, K)进行描述:操作将字符串第L个到第R个位置构成的子串循环移动K ...

  9. NOIP后省选集训前文化课划水记

    划水划了一个多月,文化课没啥长进还他妈累死了...--ghj1222 11.11(NOIP Day2) 师傅开车开得很快,晚上8:00多就到了二狱 晚上听毒瘤班主任swh讲了半节语文,我:黑人问号.j ...

随机推荐

  1. 559. N 叉树的最大深度

    给定一个 N 叉树,找到其最大深度. 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数. 例如,给定一个 3叉树 : 我们应返回其最大深度,3. 说明: 树的深度不会超过 1000.树的节点总 ...

  2. java Vamei快速教程19 嵌套类

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package) ...

  3. spa 小程序的研发随笔 (1) --- 前言

    半年前跳槽, 新公司主要研发倾向于小程序的开发.由于之前并没有接触小程序,所以经过半年的实际开发,才敢来做一点笔记. 小程序提供很多组件给开发者使用,但是,实际使用中还是会有很多的问题. 小程序的组件 ...

  4. 工作流性能优化(敢问activiti有扩展性?)(3)

    2015/4/20 周末回去想了下,hibernate.mybatis.jdbc,都行,最终定了用mybatis,谁叫它这么优雅,acvtiviti是依赖了mybatis的,就不用再引入包了: 看了配 ...

  5. go语言,安装包fetch error 问题解决方案

    最近需要安装grequests,出现了下面的error [fdf@zxmrlc ~]$ go get github.com/levigross/grequests package golang.org ...

  6. UIButton 加载网络图片

    以后就可以 用这个分类   UIButton轻松加载网络图片了, UIButton+WebCache.h #import <UIKit/UIKit.h> @interface UIButt ...

  7. JS判断单、多张图片加载完成

    转:http://www.daqianduan.com/6419.html 试想,如果模板中有图片,此时如何判断图片是否加载完成? 在此之前来了解一下jquery的ready与window.onloa ...

  8. python_24_test

    product_list=[ ('Iphone',5800), ('Mac Pro',9800), ('Bike',800), ('Watch',10600), ('Coffee',31), ('Py ...

  9. 操作表单 -------JavaScrip

    本文摘要:http://www.liaoxuefeng.com/ HTML表单的输入控件主要有以下几种: 文本框,对应的<input type="text">,用于输入 ...

  10. JZOJ 5459. 【NOIP2017提高A组冲刺11.7】密室

    5459. [NOIP2017提高A组冲刺11.7]密室 (File IO): input:room.in output:room.out Time Limits: 1000 ms  Memory L ...