Pagini recente » Cod sursa (job #1152407) | Cod sursa (job #2640723) | Cod sursa (job #3134500) | Cod sursa (job #911493) | Cod sursa (job #1886452)
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
ofstream out;
ifstream in;
int a[1000],n;
void inter(int i, int m, int j){
int b[1000];
int x=i, k=1, y=m+1;
while(x<=m && y<=j)
if(a[x]<a[y])
b[k++]=a[x++];
else
b[k++]=a[y++];
while(x<=m)
b[k++]=a[x++];
while(y<=j)
b[k++]=a[y++];
int t=i;
for(k=1; k<=(j-i)+1; ++k)
a[t++]=b[k];
}
void mij(int i, int j){
if(i<j){
int m=(i+j)/2;
mij(i,m);
mij(m+1,j);
inter(i,m,j);
}
}
int main(){
cin>>n;
for(int i=1; i<=n; ++i) cin>>a[i];
mij(1,n);
for(int i=1; i<=n; ++i) cout<<a[i]<<" ";
}
/*
char v[100000];
char pr[100000]={-1};
char m[100000];
int main(){
int c,n,s=0,a=0,b=0,d=0;
cin>>c>>n;
for(int i=0; i<n; ++i){ cin>>m[i]; m[i]=(m[i])-48; }
int k=1,j;
while(k<=pow(2,n)){
j=n-1;
while(v[j]==1 && j>=0){
v[j]=0;
--j;
}
v[j]=1;
for(int i=0; i<=n-1;++i){
if(a==1 && v[i]!=0) break;
else if(a==1 && v[i]==0) a=0;
else if(v[i]==0) a=1;
}
if(a==0){
++s;
if(c==2){
if(d==1){
for(int i=0; i<n; ++i){ pr[i]=v[i]; cout<<int(pr[i]);}
d=2;
}
for(int i=0; i<n; ++i) { if(m[i]==v[i])b=0; else{b=1; break;}}
if(b==0){
if(int(pr[0])==-1) cout<<"-1\n";
else {for(int i=0 ; i<n; ++i) cout<<int(pr[i]); cout<<"\n";}
d=1;
}
}
for(int i=0; i<n; ++i) pr[i]=v[i];
}
a=0;
++k;
}
if(c==1) cout<<s%1000000007;
else if(d==1) cout<<"-1";
return 0;
}*/