#include <algorithm>
#include <iostream>
#include <numeric>
#include <vector>
using namespace std;
int main() {
vector<int> values = {7, 5, 8, 2, 6, 8, 10};
vector<int> indices(values.size());
iota(indices.begin(), indices.end(), 0);
cout << "vorher:\n";
for (auto i: indices)
cout << i << '(' << values[i] << ") ";
std::sort(indices.begin(), indices.end(),
[values](int a, int b) {return values[a] < values[b];}
);
cout << "\nnachher:\n";
for (auto i: indices)
cout << i << '(' << values[i] << ") ";
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPHZlY3Rvcj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJdmVjdG9yPGludD4gdmFsdWVzID0gezcsIDUsIDgsIDIsIDYsIDgsIDEwfTsKCXZlY3RvcjxpbnQ+IGluZGljZXModmFsdWVzLnNpemUoKSk7Cglpb3RhKGluZGljZXMuYmVnaW4oKSwgaW5kaWNlcy5lbmQoKSwgMCk7Cgljb3V0IDw8ICJ2b3JoZXI6XG4iOwoJZm9yIChhdXRvIGk6IGluZGljZXMpCgkJY291dCA8PCBpIDw8ICcoJyA8PCB2YWx1ZXNbaV0gPDwgIikgIjsKCQoJc3RkOjpzb3J0KGluZGljZXMuYmVnaW4oKSwgaW5kaWNlcy5lbmQoKSwgCglbdmFsdWVzXShpbnQgYSwgaW50IGIpIHtyZXR1cm4gdmFsdWVzW2FdIDwgdmFsdWVzW2JdO30KCSk7CgkKCWNvdXQgPDwgIlxubmFjaGhlcjpcbiI7Cglmb3IgKGF1dG8gaTogaW5kaWNlcykKCQljb3V0IDw8IGkgPDwgJygnIDw8IHZhbHVlc1tpXSA8PCAiKSAiOwoJCglyZXR1cm4gMDsKfQ==