Pagini recente » Cod sursa (job #2018927) | Problema satisfiabilităţii formulelor logice de ordinul doi | Cod sursa (job #348515) | Cod sursa (job #2076540) | Cod sursa (job #1181330)
#include <fstream>
#define dim 500001
using namespace std;
int B[dim],A[dim],n;
void merge_sort(int l,int r){
if(l==r) return;
int m=(l+r)/2,i,j,k;
merge_sort(l,m);
merge_sort(m+1,r);
for(i=l,j=m+1,k=l;i<=m || j<=r;){
if((A[i]<=A[j] && i<=m) || j>r)
B[k++]=A[i++];
else
B[k++]=A[j++];
}
for(k=l;k<=r;k++) A[k]=B[k];
}
int main(){
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for(int i=1;i<=n;i++)
f >> A[i];
merge_sort(1,n);
for(int i=1;i<=n;i++)
g << A[i] <<" ";
}