#include #include #include #define max 30000 int ar[max+1]; int sub[max+1]; int fg; void ins(int low,int high) { int i,j; for(j=low+1;j<=high;j++) { int t=ar[j]; i=j-1; while(i>=low && ar[i]>t) { ar[i+1]=ar[i]; i--; } ar[i+1]=t; } } void merge(int low,int mid,int high) { int i=low; int j=mid+1; int k=0,l; while(i<=mid && j<=high) { if(ar[i]mid) { for(l=j;l<=high;l++) sub[k++]=ar[l]; } else for(l=i;l<=mid;l++) sub[k++]=ar[l]; k=0; for(l=low;l<=high;l++) ar[l]=sub[k++]; } void mergesort(int low,int high) { if(fg) { if(low+15