Pagini recente » Cod sursa (job #206839) | Monitorul de evaluare | Cod sursa (job #1517211) | Cod sursa (job #2160167) | Cod sursa (job #1121377)
#include <cstdio>
using namespace std;
int N,v[100005],b[100005];
void _sort(int L,int R){
if( L < R ){
int m = L + (R-L) / 2;
_sort(L,m);
_sort(m+1,R);
int i=L,j=m+1,k=L;
while( i <= m && j <= R ){
if( v[i] < v[j] ) b[ k++ ]=v[i++];
else b[k++]=v[j++];}
while(i <= m) b[k++] = v[i++];
while(j <= R) b[k++] = v[j++];
for(i = L; i <= R; i++) v[i] = b[i];
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&N);
for( register int i=0; i<=N-1; ++i )
scanf("%d",&v[i]);
_sort(0,N-1);
for(int i = 0; i <= N-1; i++) printf("%d ",v[i]);
return 0;
}