import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String tc = reader.readLine();
int nc = Integer.parseInt(tc);
if (nc == 0) {
break;
}
int arry[] = new int[nc];
String age = reader.readLine();
StringTokenizer tokenizer = new StringTokenizer(age);
for (int i = 0; i < nc; i++) {
arry[i] = Integer.parseInt(tokenizer.nextToken());
}
Arrays.sort(arry);
for (int i = 0; i < nc; i++) {
System.out.print(arry[i]+" ");
}
System.out.println();
}
}
}
the following is my AC code
in this situation, even "sort" function in C++ can't work, because of its large data(25MB)
so I use another way because the data "n" is between 1 & 100(1<=n<=100)
wish i could help~
#include<stdio.h>
int str[100];
void a()
{
int k;
for(k=0;k<100;k++)str[k]=0;
}
int main()
{
long long int time;
while(scanf("%lld",&time)==1)
{
int flag=1;
if(time==0)flag=0;
int tim=time;
a();
while(time--)
{
int b;
scanf("%d",&b);
str[b-1]++;
}
if(!flag)break;
int i;
int p=1;
for(i=0;i<100;i++)
{
while(str[i]--){
if(p==tim)printf("%d",i+1);
else {printf("%d ",i+1);p++;}
}
}
puts("");
}
return 0;
}