#include <iostream>
using namespace std;
void merge( int a[ ] , int l, int m, int r) {
int n1= m- l+ 1 ;
int n2= r- m;
int L[ n1] ,R[ n2] ;
for ( int i= 0 ; i< n1; i++ ) {
L[ i] = a[ l+ i] ;
}
for ( int i= 0 ; i< n1; i++ ) {
R[ i] = a[ m+ i+ 1 ] ;
}
int i= 0 ,k= l,j= 0 ;
while ( i< n1 && j< n2) {
if ( L[ i] < R[ j] ) {
a[ k] = L[ i] ;
i++ ;
}
else {
a[ i] = R[ j] ;
j++ ;
}
k++ ;
}
while ( i< n1) {
a[ k] = L[ i] ;
k++ ;
i++ ;
}
while ( j< n2) {
a[ k] = R[ j] ;
k++ ; j++ ;
}
}
void merge sort( int a[ ] , int l, int r) {
int m= ( l+ r) / 2 ;
if ( l< m)
merge sort( a,l,m) ;
if ( m+ 1 < r)
merge sort( a,m+ 1 ,r) ;
merge( a,l,m,r) ;
}
int main( ) {
int n;
cin >> n;
int a[ n] ;
for ( int i= 0 ; i< n; i++ ) {
cin >> a[ i] ;
}
merge sort( a,l,r) ;
for ( int i= 0 ; i< n; i++ ) {
cout << a[ i] << ' ' ;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIG1lcmdlKGludCBhW10sIGludCBsLCBpbnQgbSwgaW50IHIpewoJaW50IG4xPW0tbCsxOwoJaW50IG4yPXItbTsKCWludCBMW24xXSxSW24yXTsKCWZvcihpbnQgaT0wO2k8bjE7aSsrKXsKCQlMW2ldPWFbbCtpXTsKCX0KCWZvcihpbnQgaT0wO2k8bjE7aSsrKXsKCQlSW2ldPWFbbStpKzFdOwoJfQoJaW50IGk9MCxrPWwsaj0wOwoJd2hpbGUoaTxuMSAmJiBqPG4yKXsKCQlpZihMW2ldPFJbal0pewoJCQlhW2tdPUxbaV07CgkJCWkrKzsKCQl9CgkJZWxzZXsKCQkJYVtpXT1SW2pdOwoJCQlqKys7CgkJfQoJCWsrKzsKCX0KCXdoaWxlKGk8bjEpewoJCWFba109TFtpXTsKCQlrKys7CgkJaSsrOwoJfQoJd2hpbGUoajxuMil7CgkJYVtrXT1SW2pdOwoJCWsrKzsgaisrOwoJfQp9CnZvaWQgbWVyZ2Ugc29ydChpbnQgYVtdLCBpbnQgbCwgaW50IHIpewoJaW50IG09KGwrcikvMjsKCWlmKGw8bSkKCQltZXJnZSBzb3J0KGEsbCxtKTsKCWlmKG0rMTxyKQoJCW1lcmdlIHNvcnQoYSxtKzEscik7CgltZXJnZShhLGwsbSxyKTsJCn0KaW50IG1haW4oKXsKCWludCBuOwoJY2luPj5uOwoJaW50IGFbbl07Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQljaW4+PmFbaV07Cgl9CgltZXJnZSBzb3J0KGEsbCxyKTsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNvdXQ8PGFbaV08PCcgJzsKCX0KCXJldHVybiAwOwp9
compilation info
prog.cpp:35:6: error: variable has incomplete type 'void'
void merge sort(int a[], int l, int r){
^
prog.cpp:35:11: error: expected ';' after top level declarator
void merge sort(int a[], int l, int r){
^
;
2 errors generated.
stdout