题目描述:
个人超时解法:
牛人解法:
import java.io.IOException;
import java.io.StreamTokenizer;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.Scanner;
import java.util.Set;
import java.util.Stack;
import java.util.TreeMap;
import java.util.Vector;
public class Main
{
public static int n,m,k,t,inf=999999999,visit[];
public static StringBuffer sb;
public static void main(String[] args) throws IOException
{
// Scanner ss=new Scanner(System.in);
StreamTokenizer st=new StreamTokenizer(System.in);
while(st.nextToken()!=StreamTokenizer.TT_EOF)
{
n=(int)st.nval;
st.nextToken();
m=(int)st.nval;
int a[]=new int[1000001];
for(int i=0;i<n;i++)
{
st.nextToken();
a[(int)st.nval+500000]++;
}
int count=0;
m=Math.min(n, m);
sb=new StringBuffer();
for(int i=1000000;i>=0;i--)
{
if(a[i]!=0&&count<m)
{
sb.append(i-500000+" ");
count++;
}
if(count>=m)
break;
}
System.out.println(sb.toString().trim());
}
}
}
/**************************************************************
Problem: 1431
User: cauc_zc
Language: Java
Result: Accepted
Time:540 ms
Memory:70504 kb
****************************************************************/