#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;
}