MSCHED

4
10 1
1 4
2 4
3 6
6
5 3
9 5
1 3
4 2 
8 9
4 7
4

 10 3

 7 5

 8 1

 2 1
6
3 6
5 3
2 7
4 6
2 4
7 9
6
1 5
2 6
3 6
2 5
3 7 
5 9
#include
#define MAX 100005
int arr[MAX],z[MAX];
int temp[MAX],t[MAX];
void mergeSort(int arr[],int b[],int low,int mid,int high){
 
    int i,m,k,l;
	
 
    l=low;
    i=low;
    m=mid+1;
 
    while((l<=mid)&&(m<=high)){
 
         if(arr[l]mid){
         for(k=m;k<=high;k++){
             temp[i]=arr[k];
             t[i]=b[k];
             i++;
         }
    }
    else{
         for(k=l;k<=mid;k++){
             temp[i]=arr[k];
             t[i]=b[k];
             i++;
         }
    }
   
    for(k=low;k<=high;k++){
         arr[k]=temp[k];
         b[k] = t[k];
    }
}
void partition(int arr[],int b[],int low,int high){
 
    int mid;
 
    if(low
6
3 6
5 3
2 7
4 6
2 4
7 9
6
1 5
2 6
3 6
2 5
3 7 
5 9

4
10 4
10 4
10 4
10 4
4
10 3
7 5
8 1
2 1
4
10 3
7 5
3 1
2 1
4
10 3
7 5
3 1
2  2
4
10 3
7 5
3 1
2100 2
4

 10 1

 7 5

 8 1

 2 3
4

 10 1

 7 5

 8 5

 2 3
4

 10 3

 7 5

 8 5

 2 3
5
10 6
9 6
8 6
7 6
6 6
6
10 6
9 6
8 6
7 6
6 6
5 6
7
10 6
9 6
8 6
7 6
6 6
5 6
11 6
3
10 2
3 1
4 2
4
4 2
5 3
3 2
5 1
4
4 2
5 3
3 2
5 3
4
10 3
7 5
8 1
10 1
6
10 7
10 5
10 6
8 5
8 6
8 7
6
10 4
10 5
10 6
8 5
8 6
8 4
6
10 4
10 5
10 3
8 5
8 3
8 4
4
10 3
7 3
2 2
8 2
4
10 3
10 3
10 2
10 2
4
10 3
4 3
10 2
10 2
4
10 3
5 1
7 1
6 1
6
7 5
6 4
3 3
7 5
6 4
3 3
6
10 5
8 5
6 5
9 2
11 2
13 2
6
10 5
8 5
6 5
9 3
11 3
13 3
4
10 3
7 5
3 1
2100 2
5
3 1
3 2
3 3
8 1
3 5
10
5 8
3 4
10 2
4 545
4 835
3 10
5 11
34 545
1 23
2 54
10
1 1
2 2
3 3
4 3
5 3
6 4
7 5
8 3
23 4
10 2
10
1 1
2 1
3 1
3 2
4 2
5 2
6 1
8 3
9 3
10 4
5
1 1
2 3
4 5
6 7
8 9
5
1 1
2 1
3 1
4 1
5 2
5
9 3
5 3
6 3
4 3
10 3
6
9 3
5 3
6 3
4 3
10 3
11 2
5
2 1
3 2
1 3
9 4
10 4
7
2 1
3 2
1 3
1 4
9 5
9 5
10 6
5
3 1
3 2
3 3
8 1
3 5
4
10 5
8 5
8 5
10 2
4
10 3
7 5
3 1
2  2
3
1 2
2 3
2 4
3
2 1
3 2
4 2
4

 10 3

 7 1

 8 1

 2 3
 4

 10 3

 7 5

 16 2

 8 1