[编程题] 头条校招
2017-08-23 14:12
183 查看
时间限制:1秒
空间限制:32768K
头条的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)。
输出描述:
输出只包括一行,即所求的答案。
输入例子1:
4
20 35 23 40
输出例子1:
2
空间限制:32768K
头条的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)。
输出描述:
输出只包括一行,即所求的答案。
输入例子1:
4
20 35 23 40
输出例子1:
2
#include <iostream> #include <algorithm> using namespace std; int main() { int n; while (cin >> n) { int *diff = new int ; int i; for (i = 0;i < n;i++) { cin >> diff[i]; } sort(diff, diff + n); //排序 i = 1; //从数组下标1开始遍历 int num = 1; //3个数为一组 int needNum = 0; //需要的试题个数 while(i < n) { if (num<3 && diff[i] - diff[i-1] <= 10) //长度不够3 且 差小于等于10 { num++; } else //长度超过3 或者 差太大 { needNum += (3-num); num =1 ; } i++; //遍历下一个 } needNum += (3 - num); //遍历结束后,加最后一组需要试题个数 cout << needNum << endl; } system("pause"); return 0; }
相关文章推荐
- String Shifting- 今日头条校招2016-09-28在线编程题
- 今日头条校招2016-09-28在线编程题(2题)
- 今日头条2017秋季校招在线编程题解法参考
- 今日头条2018校招算法方向(第一批)编程题1(离散+树状数组)
- 今日头条2018校招算法方向(第一批)编程题2(枚举)
- 今日头条2017校招编程题
- 今日头条——校招在线编程题《字典序》
- 牛客网--今日头条2018校招算法方向(第一批)编程题1、编程题2
- 今日头条2018校招测试开发方向(第一、二、三、四批)编程题汇总 - 题解
- 2017年校招全国统一模拟笔试(第二场)编程题集合--Python
- 网易2018校招内退编程题 独立的小易
- 【机试题】大整数相乘--拼多多2018校招内推编程题
- 2018年网易校招内推编程题之彩色砖块
- 迅雷2014校招笔试编程题——求解两个集合差集,集合是以单向链表存储
- (网易2018校招笔试)[编程题]相反数
- 网易2018校招内推编程题
- 网易2018校招内推编程题合集部分
- 京东校招编程题——小熊分苹果
- 网易2018校招编程题3
- 爱奇艺2018秋季校招C++工程师(第三场)编程题 - 题解