Page 2 of 4

### Re: 11462 - Ages Sort

Posted: Thu Sep 17, 2009 7:28 am

Code: Select all

``````#include<stdio.h>

int age[2000000];

void counting(int num)
{
int j;
int c[101]={0};
for(j=0;j<num;j++)
c[age[j]]++;
for(j=1;j<100;j++)
{
while(c[j])
{
printf("%d ",j);
c[j]--;
}
}
printf("\b\n");
}

int main(void)
{
int n,i;
scanf("%d",&n);
while(n)
{
for(i=0;i<n;i++)
{
scanf("%d",(age+i));
}
counting(n);
scanf("%d",&n);
}
return 0;
}
``````

### Re: 11462 - Ages Sort

Posted: Fri Sep 18, 2009 9:10 am

Code: Select all

``````import java.util.*;
import java.io.*;

public class Main {

public static void main(String args[]) throws IOException {
while (true) {
int nc = Integer.parseInt(tc);
if (nc == 0) {
break;
}
int arry[] = new int[nc];
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();

}
}
}
``````

### Re: 11462 - Ages Sort

Posted: Tue Nov 03, 2009 4:07 pm
"For each case, print a line with n space separated integers"
whats that means? How many space ?

### Re: 11462 - Ages Sort

Posted: Tue Nov 03, 2009 5:21 pm
sms.islam wrote:"For each case, print a line with n space separated integers"
whats that means? How many space ?
I think that means..

print n numbers and each number is separated by only one space

### Re: 11462 - Ages Sort

Posted: Sun Dec 20, 2009 7:35 am
What is real output format for this problem???????????????????????any body can help me?

### Re: 11462 - Ages Sort

Posted: Fri Jul 02, 2010 11:14 pm
Thanks Sohel. I got ac now.

### Re: 11462 - Ages Sort

Posted: Sat Jul 03, 2010 10:15 am
printf("\b\n"); --> this won't work.

### Re: 11462 - Ages Sort

Posted: Mon Aug 30, 2010 9:55 am
Why I am getting Runtime error Why

Code: Select all

``````#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
void merge(int a[2000001], long low, long high, long mid);
void mergesort(int a[2000001], long low, long high)
{
long mid;
if(low<high)
{
mid=(low+high)/2;
mergesort(a,low,mid);
mergesort(a,mid+1,high);
merge(a,low,high,mid);
}
//return(0);
}

void merge(int a[2000001],long low,long high,long mid)
{
int i, j, k, c[50];
i=low;
j=mid+1;
k=low;
while((i<=mid)&&(j<=high))
{
if(a[i]<a[j])
{
c[k]=a[i];
k++;
i++;
}
else
{
c[k]=a[j];
k++;
j++;
}
}
while(i<=mid)
{
c[k]=a[i];
k++;
i++;
}
while(j<=high)
{
c[k]=a[j];
k++;
j++;
}
for(i=low;i<k;i++)
{
a[i]=c[i];
}
}
int main()
{
freopen("in.txt","r",stdin);
long cas;
//cout<<"Size = "<<v.size()<<endl;
while(1)
{
long i;
int v[2000000];
scanf("%ld",&cas);
if(cas==0)
break;
for( i=0;i<cas;i++)
{
scanf("%d",&v[i]);
}

long mid= (long ) (0+cas-1)/2;
mergesort(v,0,cas-1);
for(i=0;i<cas;i++)
printf("%d ",v[i]);
printf("\n");
}
return 0;
}

``````

### Re: 11462 - Ages Sort

Posted: Tue Sep 07, 2010 11:37 pm
Can anyone please tell me about the fast I/O? I know fread() fwrite() is what it is. But can u give me an example of it being done?

### Re: 11462 - Ages Sort

Posted: Sun May 01, 2011 6:36 pm
I've the same question as gtcoder (post above)

### Re: 11462 - Ages Sort

Posted: Sun Nov 06, 2011 11:44 pm
#include<stdio.h>
int main()
{
long long int a[2000005],b,l,c,i,j,k,n;
while(scanf("%lld",&n)==1)
{
if(n==0)
break;
for(i=0;i<n;i++)
{
scanf("%lld",&a);
}
for(j=0;j<n-1;j++)
{
for(k=0;k<n-j-1;k++)
{
if(a[k]>=a[k+1])
{
c=a[k];
a[k]=a[k+1];
a[k+1]=c;
}
}
}
for(l=0;l<n;l++)
{
printf("%lld ",a[l]);
}
}
return 0;
}

//...why i got always run time error? Plz give me a solution...//

### Re: 11462 - Ages Sort

Posted: Fri Dec 23, 2011 2:51 pm
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~

Code: Select all

``````#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;
}
``````

### Age Sort

Posted: Wed Apr 25, 2012 5:10 pm
#include <stdio.h>
#include <math.h>
#include <conio.h>

int array [2000000];

void merge(int* input, int p, int r)
{
int mid = (int)floor((p + r) / 2);
int i1 = 0;
int i2 = p;
int i3 = mid + 1;

int temp[r-p+1];

while ( i2 <= mid && i3 <= r )
if ( input[i2] < input[i3] )
temp[i1++] = input[i2++];
else
temp[i1++] = input[i3++];

while ( i2 <= mid )
temp[i1++] = input[i2++];

while ( i3 <= r )
temp[i1++] = input[i3++];

for ( int i = p; i <= r; i++ )
input = temp[i-p];
}

void merge_sort(int* input, int p, int r)
{
if ( p < r )
{
int mid = (int)floor((p + r) / 2);
merge_sort(input, p, mid);
merge_sort(input, mid + 1, r);
merge(input, p, r);
}
}

int main (){

freopen ("age.txt", "r", stdin);
int test;

scanf ("%d", &test);

while (test !=0){

for (int i =1; i <=test; i++)
scanf ("%d", &array );

merge_sort (array, 1, test);

for (int i =1; i<=test; i++)
printf ("%d ", array );

printf ("\n");

scanf ("%d", &test);
}
getch();
return 0;
}
i don't know why i am getting presentation error

### Re: Age Sort

Posted: Thu Apr 26, 2012 2:05 am
Don't print a space at the end of a line.

### Re: 11462 - Ages Sort

Posted: Wed May 23, 2012 9:34 pm
Solved this problem in JAVA in 1.848

How to solve it faster?

Code: Select all

``````import java.awt.event.PaintEvent;
import java.io.*;
import java.math.BigInteger;
import java.util.*;
import java.awt.geom.*;
import java.util.regex.*;
import java.util.StringTokenizer;

public class Main implements Runnable {
void solve() {
console(true);//System.getProperty("ONLINE_JUDGE") != null);

int n, last;
int[] data = new int[101];

while((n=RI())!=0){
last = 0;
for(int i=1; i<=n; i++) {
int tmp = RI();
data[tmp]++;
last = tmp>last ? tmp : last;
}

for(int i=1; i<=100; i++) {
for(int j=1; j<=data[i]; j++){
out.print((i==last && j==data[i]) ? i+"\n" : i+" ");
}

data[i] = 0;
}
}
}

StringTokenizer st;
PrintWriter out;
boolean eof = false;

public static void main(String[] args) {
}

String nextToken() {
while (st == null || !st.hasMoreTokens()) {
try {
} catch (Exception e) {
eof = true;
return null;
}
}
return st.nextToken();
}

String RLine() {
String ret;
try {
} catch (Exception e) {
ret = "";
}
if (ret == null) {
eof = true;
return null;
}
return ret;
}

int RC() {
try {
} catch (Exception e) {
return -1;
}
}

String RS() {
return nextToken();
}

int RI() {
return Integer.parseInt(nextToken());
}

long RL() {
return Long.parseLong(nextToken());
}

double RD() {
return Double.parseDouble(nextToken());
}

void console(boolean f) {
if (f) {
out = new PrintWriter(new OutputStreamWriter(System.out));
} else {
try {
File input = new File("input.txt");
if (!input.exists()) {
input.createNewFile();
}

out = new PrintWriter(new OutputStreamWriter(new FileOutputStream("output.txt")));
} catch (Exception e) {
e.printStackTrace();
System.exit(111);
}
}
}

@Override
public void run() {
solve();
out.close();
}
}
``````