【编程测试题】头条校招
题目描述
头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前,我们对题目进行了盲审,并定出了每道题的难度系统。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a,b,c,我们希望这3道题能满足下列条件:
a<=b<=c
b-a<=10
c-b<=10
所有出题人一共出了n道开放性题目。现在我们想把这n道题分布到若干场考试中(1场或多场,每道题都必须使用且只能用一次),然而由于上述条件的限制,可能有一些考试没法凑够3道题,因此出题人就需要多出一些适当难度的题目来让每场考试都达到要求,然而我们出题已经出得很累了,你能计算出我们最少还需要再出几道题吗?
输入描述:
输入的第一行包含一个整数n,表示目前已经出好的题目数量。第二行给出每道题目的难度系数d1,d2,...,dn。 数据范围对于30%的数据,1 ≤ n,di ≤ 5;对于100%的数据,1 ≤ n ≤ 10^5,1 ≤ di ≤ 100。在样例中,一种可行的方案是添加2个难度分别为20和50的题目,这样可以组合成两场考试:(20 20 23)和(35,40,50)。
输出描述:
输出只包括一行,即所求的答案。
#include<iostream>
#include<vector>
#include <algorithm>
using namespace std;int main()
{int n;//int *a = new int[n];vector<int> a;int i, j;int out=0;cin >> n;int aa;for(i=0; i<n; ++i){cin >> aa;a.push_back(aa);}sort(a.begin(), a.end());int num;for(i=0; i<n; ++i)//从前往后遍历{num=1;if(i<n-2){if(a[i+1]-a[i] <= 10){num++;if(a[i+2]-a[i+1] <= 10){num++;i+=2;}else{num++;out++;i++;}}else if(a[i+1]-a[i] <= 20){num+=2;out++;i++;}else{num+=2;out+=2; }}else if(i==n-2)//如果只剩下两个元素{if(a[i+1]-a[i]<=20){num+=2;out++;i++;}else{num+=2;out+=4;i++;}}}if(num!=3)//如果只剩下一个元素out += (3-num);cout << out << endl;}
贪婪算法,排序后有符合条件的就计数,不符合的再看加几个符合。
【编程测试题】头条校招相关推荐
- 2017字节跳动秋招编程题-头条校招
题目描述 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前,我们对题目进行了盲审,并定出 ...
- nowcoder:[编程题] 头条校招(贪心)
时间限制:1秒 空间限制:32768K 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前 ...
- [编程题] 头条校招
时间限制:1秒 空间限制:32768K 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前 ...
- 今日头条校招真题——头条校招
牛客网编程题--头条校招 题目描述 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队,每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来,在选题之前,我 ...
- 编程练习:头条校招题
编程练习:头条校招题 题目描述 头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队.每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来.在选题之前,我们对 ...
- 2016年头条校招笔试题
一.单选题 1.栈是先进后出的数据结构,给定一个大小为3的初始状态为空的栈,已知一组数据经过这个栈后,最终的数据顺序依次为:1 3 2 4 问原始进栈的数据不可能是以下的哪组? A 2 3 1 4 B ...
- java编程测试题_Java编程测试可帮助您评估求职者
java编程测试题 Sometimes back one of my good friend asked me to assess few job candidates for Java progra ...
- c语言 小学生测试题,C语言编程测试题(含答案)
<C语言编程测试题(含答案)>由会员分享,可在线阅读,更多相关<C语言编程测试题(含答案)(4页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计阶段性考核(90分钟)学号_ ...
- 阿里在线编程测试题–派送货物,求最短路径(C语言实现)
阿里在线编程测试题–派送货物,求最短路径斜体样式 如下图,某物流派送员p,需要给 a.b.c.d. 4个快递点派送包裹,请问派送员需要选择什么样的路线,才能完成最短路程的派送.假设如图派送员的起点坐标 ...
最新文章
- “高引用”《牛顿传》重版再出,今晚八点,来直播间“遇见牛顿”!
- 为什么阿里内部不允许用Executors创建线程池?
- mfc检测一个目录是否产生新文件_细数Java8中那些让人纵享丝滑的文件操作
- python类方法是什么_python中什么是类方法
- [转]ASP.NET MVC 入门3、Routing
- HDU 2825 位压缩
- 使用FFmpeg合并/解密/下载m3u8文件转为mp4格式
- 抖音计算机学猫叫视频,抖音短视频我们一起学猫叫是什么歌
- 怎样将excel表格导入天正_怎样把excel表格转换成cad读取
- windows下配置安装 Mycat详细步骤
- java 抓取视频流 海康_海康SDK如何实现视频流转发
- 高德地图使用-监听地图缩放
- 自定义EditText的无障碍描述(不读hint)
- jsp分页技术用oracle实现,Oracle Rownum的使用与JSP分页显示的实现
- CUDA版本降级操作(记录)
- 比Excel还好用的web报表工具,果然国产最佳
- ssm毕设项目创梦宝大学生创业众筹平台cds88(java+VUE+Mybatis+Maven+Mysql+sprnig)
- MPLS 虚拟专用网络 Hub and Spoke实验
- Javaweb项目-快递e站前置2-权限管理(半重点)
- Facebook要改名了?