Pagini recente » Monitorul de evaluare | Cod sursa (job #622503) | Cod sursa (job #2222990) | Cod sursa (job #2339633) | Cod sursa (job #1571276)
#include<fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
long n,a[500001],aux,st,dr,mij,i,j;
int main()
{
fin>>n;
//citire
for(i=0;i<n;i++)
{
fin>>a[i];
}
//qsort
for(i=1;i<n;i++)
{
aux=a[i];
st=0;
dr=i-1;
while(st<=dr)
{
mij=(st+dr)/2;
if(aux<a[mij])
dr=mij-1;
else
st=mij+1;
}
j=i-1;
while(j>=st)
{
a[j+1]=a[j];
j--;
}
a[st]=aux;
}
//afisare
for(i=0;i<n;i++)
{
fout<<a[i]<<" ";
}
return 0;
}