题目

六一儿童节,老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j],对于每个小朋友i,当他分到的巧克力大小达到h[i] (即w[j]>=h[i]),他才会上去表演节目。老师的目标是将巧克力分发给孩子们,使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。

输入描述:

第一行:n,表示h数组元素个数第二行:n个h数组元素第三行:m,表示w数组元素个数第四行:m个w数组元素

输出描述:

上台表演学生人数

输入例子1:

3 2 2 323 1

输出例子1:

1

思路

之前准备CCF的时候做过一道和这个题差不多的题,这个题用贪心是比较好的,首先将两个数组按照从小到大的顺序排序,然后遍历巧克力对应的数组,这里引入了一个sum,这个变量既是可以满足的小朋友数,也可以指示我们目前遍历到了哪位小朋友,使用这个变量就不再需要多加一层遍历了。同时引入一个temp用来存储当前的巧克力重量,如果满足了小朋友的要求就清空,如果不满足的话就再加上后面一块巧克力,直到满足为止。如果我们的sum到达了小朋友数量的最大值,这时候可以提前终止遍历

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{int n,m;cin>>n;int h[n];for(int i=0;i<n;i++)cin>>h[i];cin>>m;int w[m];for(int i=0;i<m;i++)cin>>w[i];/*h  小朋友   w 巧克力*/sort(w,w+m);sort(h,h+n);/*贪心*/int sum=0;for(int i=0;i<m;i++){int temp=0;temp+=w[i];if(temp>=h[sum]){sum++;temp=0;if(sum>=n)break;}} cout<<sum<<endl;return 0;
} 

拼多多校招内推编程题3 六一儿童节相关推荐

  1. 拼多多校招内推编程题1 最大乘积

    题目 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件的最大乘积 输 ...

  2. 拼多多校招内推编程题2 大整数乘法

    题目 有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示.不能用系统自带的大整数类型. 输入描述: 空格分隔的两个字符串,代表输入的两个大整数 输出描述: 输入的乘积,用字符串表示 ...

  3. 拼多多2018校招内推编程题汇总 详解

    编程 一.最大乘积 描述: 给定一个无序数组,包含正数.负数和 000,要求从中找出 333 个数的乘积,使得乘积最大,要求时间复杂度:O(n)O(n)O(n),空间复杂度:$O(1) $ 输入描述: ...

  4. 一堆棋子java代码编程_网易2018校招内推编程题-堆棋子-C++实现

    0 1 3 10 解法 暴力枚举所有可能的点. 如图所示,黑点为输入点.所需遍历的点为红线的交点,红圈表示. 当时自己写的是遍历了外围红线所构成的封闭矩形里面所有的点了,只有60%的AC率,原因超时. ...

  5. 2018拼多多校招笔试贪心编程题小熊吃糖详解

    题目描述 有n只小熊,他们有着各不相同的战斗力.每次他们吃糖时,会按照战斗力来排,战斗力高的小熊拥有优先选择权.前面的小熊吃饱了,后面的小熊才能吃.每只小熊有一个饥饿值,每次进食的时候,小熊们会选择最 ...

  6. 2018年网易校招内推编程题之交错01串

    如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串.例如: "1","10101","0101010"都是交错 ...

  7. python 内推_网易有道2017内推编程题 洗牌(python)

    本文实例为大家分享了网易有道2017内推编程题:洗牌,供大家参考,具体内容如下 ''' [编程题] 洗牌 时间限制:1秒 空间限制:32768K 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程 ...

  8. 有道python网课怎么样-网易有道2017内推编程题 洗牌(python)

    本文实例为大家分享了网易有道2017内推编程题:洗牌,供大家参考,具体内容如下 ''' [编程题] 洗牌 时间限制:1秒 空间限制:32768K 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程 ...

  9. 网易有道2017内推编程题

    网易有道2017内推编程题 两道题,都只要找到了规律就比较好些,然后就是一些细节处理! 题目一 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程. 现在需要洗2n张牌,从上到下依次是第1张,第2 ...

最新文章

  1. 命令行下操作常用语句
  2. LAN交换机自学习算法
  3. 配置Swagger2
  4. 关于 m1 xcode12 编译报错 this target. for architecture arm64等问题解决方案
  5. sklearn中的train_test_split函数
  6. Maven的Pom文件 ( Eclipse中创建Maven工程, 使用注意点,DevOps相关)
  7. sigmoid激活函数
  8. idea运行前端项目
  9. iOS App 签名的原理 App 重签名(二)
  10. 使用 GitHub Pages 和 Hexo 以及 Aurora 主题搭建静态个人博客
  11. linux给root权限命令,linux设置root权限命令
  12. 江苏高考时间2021成绩查询,小高考时间2021具体时间江苏-江苏小高考成绩查询公布时间及网站...
  13. 利用matlab求系统的单位阶跃响应,基于Matlab6_5的归一化二阶系统单位阶跃响应的模拟演示...
  14. 蓝桥ROS机器人之现代C++学习笔记7.4 条件变量
  15. 2018年机器视觉产业技术现状、发展趋势分析及发展前景预测
  16. java 气泡图_java报表开发制作气泡图
  17. 苹果手机的专用充电宝有哪些?苹果官方授权无线充电宝推荐
  18. uvc摄像头代码解析4
  19. 什么是好的技术氛围?
  20. 如何在系统测试中关注安全问题

热门文章

  1. JQuery Smart UI 简介(四) — 强大的适用性存在问题【项目使用性介绍】
  2. 两晋南北朝·高洋(上)
  3. 关于Android import-module 和NDK_MODULE_PATH
  4. 路径规划学习之地图生成(二)
  5. EffectiveJava阅读感想一
  6. 计算机发展史资料简介,计算机发展史简介
  7. 基于切比雪夫逼近法的滤波器的matlab设计与实现
  8. 阿里巴巴高级技术专家 至简 聊工程师思维(配音版)
  9. 非严格次小生成树+严格次小生成树
  10. Python+Selenium爬取新浪微博评论数据