Hello codeforces,
We all have done the classic question where there are two arrays, lets say, one denoting user-id and other denoting tenure. Now we need to sort both arrays so users with shortest tenure come first. Ex:
user-ids: [34, 51, 21, 22, 37] tenure : [ 1, 4, 1, 10, 3 ]
answer:
user-ids: [21, 34, 37, 51, 22] tenure: [ 1, 1, 3, 4, 10]
This is pretty straight forward with creating array of pairs and using library sort. However this ends up using O(n) extra memory. Surely if I wrote my own selection-sort or merge-sort, I could manage to do it in in-place by book-keeping the indexes and updating both arrays myself.
My question is, how can we do this in C++ using library sort, inplace, without creating a new array ?