Algo
// Mergesort void merge ( ll arr [], ll lft , ll mid , ll rgt ){ ll n1 = mid - lft + 1 ; ll n2 = rgt - mid ; ll a [ n1 + 1 ]; ll b [ n2 + 1 ]; for (ll i = 0 ; i < n1 ; i ++ ){ a [ i ] = arr [ lft + i ]; } for (ll i = 0 ; i < n2 ; i ++ ){ b [ i ] = arr [ mid + 1 + i ]; } a [ n1 ] = b [ n2 ] = INT_MAX; ll i1 = 0 ; ll i2 = 0 ; for (ll i = lft ; i <= rgt ; i ++ ){ if ( a [ i1 ] <= b [ i2 ]){ arr [ i ] = a [ i1 ]; i1 ++ ; } else { arr [ i ] = b [ i2 ]; i2 ++ ; } ...