Cod sursa(job #2198664)

Utilizator deliricnagisa deliric Data 24 aprilie 2018 23:26:18
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <iostream>
using namespace std;
int N,A[1002],B[1002];
void merge_sort(int l,int r)
{
    int m=(l+r)/2,i,j,k;
    if(l==r) return;
    merge_sort(l,m);
    merge_sort(m+1,r);
    for(i=l,j=m+1,k=l;i<=m||j<=r;)
        if(j>r||(i<=m&&A[i]<A[j])) B[k++]=A[i++];
        else B[k++]=A[j++];
    for(k=l;k<=r;k++) A[k]=B[k];
}
int main()
{
    cin>>N;
    for(int i=1;i<=N;i++) cin>>A[i];
    merge_sort(1,N);
    for(int i=1;i<=N;i++) cout<<A[i]<<' ';
    return 0;
}