Cod sursa(job #1034549)

Utilizator miamiinkAdrian miamiink Data 17 noiembrie 2013 21:40:18
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n,v[500001],m,i;

void tipar1(int k)
{
	for(i=k;i<=m;i++)
	{
		if(v[i]!=0)
		{
            fout<<i<<" ";
            v[i]--;
            tipar1(k);
		}
	}
}
void tipar2(int k)
{
	for(i=k;i<=m;i++)
	{
		if(v[i]!=0)
		{
		    if(v[i]>0)
		    {
                fout<<i<<" ";
                v[i]--;
		    }
            else tipar2(k);
		}
	}
}
int main()
{
    int k=0;
	int x;
	fin>>n;
	do
	{
		fin>>x;
		v[x]++;
		if(x>m)
			m=x;
        if(v[x]>=2)
            k++;
	}while(n--);
	v[x]--;
	if(k==1)
        tipar2(0);
    else
        tipar1(0);
}