今日头条——校招在线编程题《头条校招》
2017-10-25 09:59
597 查看
题目描述
头条的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
输出
2
头条的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
输出
2
C++代码:
#include<bits/stdc++.h> using namespace std; int main(){ int n; while(cin>>n){ int a[n+5]; for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); // for(int i=0;i<n;i++) cout<<a[i]<<" "; int state=1,ans=0; for(int i=1;i<n;i++){ if(state==1){ if(a[i]-a[i-1]<=10){ state++; } else if(a[i]-a[i-1]<=20){ state+=2; ans++; } else if(a[i]-a[i-1]>20){ state+=2; ans+=2; } } else if(state==2){ if(a[i]-a[i-1]<=10){ state++; } else if(a[i]-a[i-1]<=20){ state=1; ans++; } else if(a[i]-a[i-1]>20){ state=1; ans+=2; } } else if(state==3) state=1; } if(state==1) ans+=2; if(state==2) ans++; cout<<ans<<endl; } return 0; }
相关文章推荐
- indeed2017校招在线编程题(网测)二
- 今日头条校招2016-09-28在线编程题(2题)
- 网易2018校招在线编程题-第一题
- 网易2018校招在线编程题-第二题
- 今日头条2017秋季校招在线编程题解法参考
- 微软苏州校招1月3日在线编程题1——constellations
- 滴滴2016.09.06校招 在线笔试 - 2道编程题
- 阿里巴巴2017校招C++岗位在线编程题-求集合D的最大值,最小值和元素个数三者之和
- 360公司 2018校招 技术综合C卷在线考试 编程题
- 网易2017校招内推在线笔试编程题3
- 今日头条——校招在线编程题《字典序》
- 完美世界校招在线笔试题-互联网Java(11月1日)编程题
- 阿里巴巴2017校招C++岗位在线编程题-RNA嵌套
- 京东2018校招在线笔试编程题①
- 微软苏州校招1月3日在线编程题2——Disk Storage
- String Shifting- 今日头条校招2016-09-28在线编程题
- 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码
- 2015年阿里巴巴校招研发工程师编程题
- 南邮编程在线编程题二十二:判断矩阵是否对称
- 2015年网易校招Java开发工程师(技术架构)在线笔试题