题目描述
头条的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;
}

今日头条——校招在线编程题《头条校招》相关推荐

  1. 今日头条——校招在线编程题《字典序》

    题目描述 给定整数n和m, 将1到n的这n个整数按字典序排列之后, 求其中的第m个数. 对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, ...

  2. 2017京东校招在线编程题——集合

    题目描述 给你两个集合,要求{A} + {B}. 注:同一个集合中不会有两个相同的元素. 输入描述 每组输入数据分为三行,第一行有两个数字n,m(0 ≤ n,m ≤ 10000),分别表示集合A和集合 ...

  3. 今日头条校招真题——字典序

    牛客网编程题--字典序 题目描述 给定整数n和m, 将1到n的这n个整数按字典序排列之后, 求其中的第m个数. 对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, ...

  4. java在线编程题_阿里笔试题(2017在线编程题)-- 数串分组 --Java实现

    看到有人写了阿里的面试题,心里痒痒,好久 没搞过这些了,写着实现一下 题目 2017年3月阿里在线编程题(实习内推) 给定一串数字 判断是否存在这三个元素,它们将数字串分为四个子串,其中每个子串的数字 ...

  5. java校招面试题_java校招面试编程题及答案.docx

    java校招面试编程题及答案 java校招面试编程题及答案 Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点.这里,我列出了一些关于Java集合的重要问题和答案. 集合框 ...

  6. 拼多多2020校招部分编程题

    文章目录 拼多多2020校招部分编程题 多多的排列函数 canci 拼多多2020校招部分编程题 #include <iostream> using namespace std; int ...

  7. 阿里算法工程师在线编程题

    第一次投实习,阿里的在线编程题,只有一道,半个小时完成. 这道题主要要想到有递推公式 当N>=3时A(N)=M*(M-1)^(N-1)-A(N-1) N=2时,初值为M(M-1),因为只有两块, ...

  8. 魔法币 java_网易2018校招笔试编程题-魔法币 java实现

    魔法币 原题 小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币. 魔法机器1:如果投 ...

  9. vivo2021届秋季校招在线编程

    vivo2021届秋季校招在线编程 //用队列实现拓扑排序,但因为题目要求"同时可以编译多个文件的情况,按数字升序返回",所以用个小根堆来保持升序的特性. import java. ...

最新文章

  1. day1 作业编写登录窗口
  2. 微服务架构下分布式事务解决方案 —— 阿里GTS
  3. 软件级负载均衡器(LVS/HAProxy/LVS)的特点简介和对比
  4. MySql采用range分区可提升查询效率
  5. python相比于excel的优势_都在讨论Python能否取代Excel,那有没有人想到它
  6. Bootstrap HTML 编码规范之语言属性
  7. 增加一行减少一行_【第2171期】一行 CSS 代码的魅力
  8. 9月30日或成年内最难打车日 滴滴1亿补贴鼓励司机师傅多接单
  9. Python稳基修炼的经典案例12(计算机二级、初学者必会的字符文件处理)
  10. 中秋佳节,献上笔试题一道,祝各位事业蒸蒸日上!
  11. 关于计算机航天生物的想像作文,未来的航天员想象作文
  12. tensorflow2.0内存溢出解决办法
  13. 把触发器说透(转载)
  14. python进程join会让程序线性执行_python 多进程没有并发执行是怎么回事?
  15. Flash MX本地保存数据的三种方法
  16. 闪光css,css实现图片闪光效果
  17. Ruby on Rails 中你使用了Kaminari 后,千万不要再引入will_pagination 这个Gem 了
  18. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结
  19. 基于java+jsp+ssm工程车辆租赁系统
  20. python爬取腾讯新闻_Python采集腾讯新闻实例

热门文章

  1. 数据分析学习之roc曲线
  2. 腾讯股票接口怎样新建一个历史类数据的编程?
  3. MISC互相伤害!!!
  4. 《Windows 8 权威指南》——2.2 Windows 8 Metro界面
  5. 计算机类论文答辩常见问题
  6. 添加友情链接获取CF币
  7. Ubuntu16.04安装搜狗中文输入法
  8. 关于学习如何组装基于F4V3S飞控的竞速穿越机
  9. 稳压二极管TVS二极管
  10. Elasticsearch许可证过期导致ES用不了的问题