Cod sursa(job #1778098)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 13 octombrie 2016 14:38:25
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
// COUNTSORT 

#include <iostream>
#include <fstream>
#define NMAX 500001

using namespace std;

ifstream in("algsort.in");
ofstream out("algsort.out");
int n, *a, *frecv;

int main()
{
	int minn, maxx;
	in >> n;
	a = new int[n + 1];
	in >> a[1];
	minn = maxx = a[1];
	for (int i = 2; i <= n; i++)
	{
		in >> a[i];
		if (minn > a[i])
			minn = a[i];
		if (maxx < a[i])
			maxx = a[i];
	}
	in.close();
	int elem = maxx - minn + 1;
	frecv = new int[elem];
	for (int i = 0; i < elem; i++)
		frecv[i] = 0;
	for (int i = 1; i <= n; i++)
		frecv[a[i] - minn]++;
	for (int i = 0; i < elem; i++)
		if (frecv[i] != 0)
			for (int j = 1; j <= frecv[i]; j++)
				out << i + minn << " ";
	out << "\n";
	out.close();
	delete[] a;
	delete[] frecv;
	return 0;
}