Problem:Merge two Sorted (non-increasing) Array.
#include <stdio.h> void _sort(int ar[],int len1,int br[],int len2) { int i=1,j=1; while(i<=len1 && j<=len2) { if(ar[i]>br[j]) { printf("%d ",ar[i]); i+=1; } else if(ar[i]<br[j]) { printf("%d ",br[j]); j+=1; } else if(ar[i]==br[j]) { printf("%d %d ",ar[i],br[j]); j+=1; i+=1; } } while(i<=len1) printf("%d ",ar[i++]); while(j<=len2) printf("%d ",br[j++]); printf("\n"); } int main() { //code int t,n,X,Y,j,i,len; int arr[50005]; int brr[50005]; scanf("%d",&t); while(t--) { scanf("%d%d",&X,&Y); for( i=1;i<=X;i++) { scanf("%d",&arr[i]); } for( i=1;i<=Y;i++) { scanf("%d",&brr[i]); } if(X<Y) { _sort(arr,X,brr,Y); } else _sort(brr,Y,arr,X); } return 0; }