Write a program to Sort a given set of n integer elements using Merge Sort method and compute its time complexity. Run the program for varied values of n> 5000, and record the time taken to sort.

#include<stdio.h>
#include<conio.h>
void simple_merge(int low,int mid,int high,int *a){
	int l=low;
	int m=mid+1;
	int temp[20];
	int k=0;
	while(l <= mid && m <= high){
		if(a[l]<= a[m]){
			temp[k++]=a[l];
			l++;
		}
		else{
			temp[k++]=a[m];
			m++;
		}
	}
	while(l<=mid){
		temp[k++]=a[l];
		l++;
	}
	while(m <= high){
		temp[k++]=a[m];
		m++;
	}
	k=0;
	while(low<=high){
		a[low]=temp[k++];
		low++;
	}
}
void merge_sort(int low,int high,int *a){
	if(low<high){
		int mid=(low+high)/2;
		merge_sort(low,mid,a);
		merge_sort(mid+1,high,a);
		simple_merge(low,mid,high,a);
	}
}
void main(){
	int a[20];
	int n;
	int i;
	clrscr();
	printf("Enter size of array\n");
	scanf("%d",&n);
	printf("Enter all array elements to sort\n");
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	merge_sort(0,n-1,&a[0]);
	printf("The sorted values are\n");
	for(i=0;i<n;i++)
		printf("%d\n",a[i]);
	getch();
}