题目描述
小新同学在高中就是多才多艺,一进入大学很多社团都向小新伸出了橄榄枝。每个社团都会定期集中活动,有些社团在活动的时间上会冲突,每个社团活动为1个时间单位,请你帮小新算一下在哪个时间点社团活动有冲突以及有几个社团在这个时间点上有冲突。
输入
输入一个正整数n,表示社团的数量(0<n<=10000),接着输入n个整数Ti(0<=Ti<=100),表示这n个社团活动的时间点。
输出
输出可能有多行,每行输出两个整数,表示有冲突的时间点和有冲突社团的数量,用空格隔开,按时间点从小到大的顺序输出,没有任何冲突输出“Perfect!”。
样例输入 Copy
3
5 9 5
样例输出 Copy
5 2
package oj;
import java.util.Arrays;
import java.util.Scanner;
public class t2334 {
public static void main(String[] args) {
Scanner sc=new Scanner (System.in);
int n=sc.nextInt();
int a[]=new int [n];
for(int i=0;i<n;i++)
{
a[i]=sc.nextInt();
}
Arrays.sort(a);
int flag=0,time=0,k=0;
for(int i=0;i<n;i=i+k)
{
int count=1;
for(int j=i+1;j<n;j++)
{
if(a[i]==a[j])
{
count+=1;
time=a[i];
}
}
if(count!=1)
{
flag=1;
System.out.println(time+" "+count);
}
k=count;
}
if(flag==0)
System.out.println("Perfect!");
sc.close();
}
}