赛码网
- 题目描述
头条的2017校招开始了!为了这次校招,我们组织了一个规模宏大的出题团队。每个出题人都出了一些有趣的题目,而我们现在想把这些题目组合成若干场考试出来。在选题之前,我们对题目进行了盲审,并定出了每道题的难度系数。一场考试包含3道开放性题目,假设他们的难度从小到大分别为a, b, c,我们希望这3道题能满足下列条件:
a<= b<= c
b - a<= 10
c - b<= 10
所有出题人一共出了n道开放性题目。现在我们想把这n道题分布到若干场考试中(1场或多场,每道题都必须使用且只能用一次),然而由于上述条件的限制,可能有一些考试没法凑够3道题,因此出题人就需要多出一些适当难度的题目来让每场考试都达到要求。然而我们出题已经出得很累了,你能计算出我们最少还需要再出几道题吗?
这道题关键在于序列排好序后三个一组,也就是当前面m个元素的数目是3倍时,即使下一个元素和dm-1的差大于10也不要紧。那么思路应该是遍历序列,当之前元素比上一元素大10而且在子序列中,就要手动补上元素,并不能更新索引。
int main() {
int N;
cin >> N;
vector<int> num(N, 0);
for (int i = 0; i < N; ++i) {
cin >> num[i];
}
sort(num.begin(), num.end());
int res = 0, last = num[0], count = 1, i = 1;
while (i < N)
{
if (num[i] - last <= 10)
{
last = num[i];
i++;
}
else
{
if (count == 3)
{
last = num[i];
i++;
}
else
{
res++;
last += 10;
}
}
count++;
if (count > 3) count = 1;
}
N += res;
if (N % 3) res += (3 - N % 3);
cout << res << endl;
return 0;
}
文章最后发布于: 2019-06-29 20:25:14
相关阅读
在网络经济时代,网络的发展使信息迅速传播。与此同时,由于网民的言论自由、网络编辑的主观想象、善意或恶意“谣言”,这使
电子商务网站的结构优化是非常重要到,一定要易于抓取,而又便于浏览,这是为访客提供优质的用户体验不可或缺的内容,一个电子商务网站,可
A5创业网(公众号:iadmin5)3月12日报道,目前国内三大运营商都在为5G建设做准备,进行清频、退网。从去年开始中国联通也开始在全国范围内
【中英】【吴恩达课后测验】Course 4 -卷积神经网络 -
【中英】【吴恩达课后测验】Course 4 -卷积神经网络 - 第二周测验 参考1:卷积神经网络Quiz2 参考2:quiz.md 上一篇:【课程4 -
Marvelous Designer 破解后如何在不断网的条件下使用
使用过Marvelous Designer 7 Personal 的童鞋们应该有这样的体验,每次打开Marvelous前都需断开网络,否则软件在打开时如果系统正连