題目描述
頭條的2017校招開(kāi)始了!為了這次校招,我們組織了一個(gè)規(guī)模宏大的出題團(tuán)隊(duì)。每個(gè)出題人都出了一些有趣的題目,而我們現(xiàn)在想把這些題目組合成若干場(chǎng)考試出來(lái)。在選題之前,我們對(duì)題目進(jìn)行了盲審,并定出了每道題的難度系數(shù)。一場(chǎng)考試包含3道開(kāi)放性題目,假設(shè)他們的難度從小到大分別為a, b, c,我們希望這3道題能滿足下列條件:
a<= b<= c
b - a<= 10
c - b<= 10
所有出題人一共出了n道開(kāi)放性題目?,F(xiàn)在我們想把這n道題分布到若干場(chǎng)考試中(1場(chǎng)或多場(chǎng),每道題都必須使用且只能用一次),然而由于上述條件的限制,可能有一些考試沒(méi)法湊夠3道題,因此出題人就需要多出一些適當(dāng)難度的題目來(lái)讓每場(chǎng)考試都達(dá)到要求。然而我們出題已經(jīng)出得很累了,你能計(jì)算出我們最少還需要再出幾道題嗎?
輸入
輸入的第一行包含一個(gè)整數(shù)n,表示目前已經(jīng)出好的題目數(shù)量。
第二行給出每道題目的難度系數(shù) d1, d2, …, dn。
樣例輸入
4
20 35 23 40
輸出
輸出只包括一行,即所求的答案。
樣例輸出
2
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n=sc.nextInt();
int[] a=new int[n];
sc.nextLine();
String s=sc.nextLine();
String[] b=s.split(" ");
for(int i=0;i<b.length;i++){
a[i]=Integer.parseInt(b[i]);
}
Arrays.sort(a);
int count=0;
int t=1;
if(n==1){
System.out.println(2);
}else if(n==0){
System.out.println(3);
}else{
for(int i=1;i<n;i++){
if(a[i]-a[i-1]<=10&&t<3){
t++;
}else{
count+=3-t;
t=1;
}
}
count+=3-t;
System.out.println(count);
}
}
}