Cod sursa(job #1973754)

Utilizator mihaicivMihai Vlad mihaiciv Data 25 aprilie 2017 20:41:46
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("algosort.in");
ofstream g("algosort.out");
int n,v[500001],a[1000001],pos[100001],poz;
void citire()
{
    f>>n;
    for (int i=1;i<=n;i++)
    {
        f>>v[i];
    }
}
void rez()
{
    int maxim=0;
    for (int i=1;i<=n;i++)
    {
        a[v[i]]++;
        if (v[i]>maxim) maxim=v[i];
    }
    int ps=1;
    while (a[ps]==0)
    {
        ps++;
    }
    poz=ps;
    for (int i=ps+1;i<=maxim;i++)
    {
        if (a[i]!=0)
        {
            pos[poz]=i;
            poz=i;
        }
    }
    /*
    for (int i=1;i<=maxim;i++)
    {
        g<<pos[i]<<" ";
    }
    g<<"\n";
    //g<<ps;
    */
    for (int i=1;i<=n;i++)
    {
        v[i]=ps;
        a[ps]--;
        if (a[ps]==0)
        {
            ps=pos[ps];
        }
    }
    for (int i=1;i<=n;i++)
    {
        g<<v[i]<<" ";
    }
}
int main()
{
    citire();
    rez();
    return 0;
}