Cod sursa(job #1321559)

Utilizator Denisa13Stefan Denisa Denisa13 Data 19 ianuarie 2015 12:02:56
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.03 kb
#include <iostream>
#include <math.h>
#include <fstream>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

int main()
{
    int v[500005],i,j,n,min[500005],k=0,w[500005],m,poz;
    f>>n;
    i=1;
    j=1;
    while(i<=n)
    {
        f>>v[i];
        min[++k]=v[i];
        i++;
        j++;
        while(j<=floor(sqrt(n)))
        {
            f>>v[i];
            if(v[i]<min[k])
                min[k]=v[i];
            i++;
            j++;
        }
        j=1;
    }
    i=1;
    while(i<=n)
    {
        w[i]=min[1];
        poz=1;
        for(j=2;j<=k;j++)
            if(min[j]<w[i])
            {
                w[i]=min[j];
                poz=j;
            }
        m=INFINITY;
        for(j=(poz-1)*floor(sqrt(n))+1;j<=poz*floor(sqrt(n));j++)
            if(w[i]==v[j])
                v[j]=INFINITY;
            else if(v[j]<m)
                    m=v[j];
        min[poz]=m;
        i++;
    }
    for(i=1;i<=n;i++)
        g<<w[i]<<' ';
    return 0;
}