#include <iostream>
#include <algorithm>
#define LEN 5
using Pair = std::pair<int, int>;
void print(Pair p[], int len)
{
for(int i=0; i< len; i++)
{
std::cout<<"{"<<p[i].first<<","<<p[i].second<<"} | ";
}
std::cout<<std::endl;
}
int main() {
Pair P[LEN];
for(int i= 0; i<LEN; i++)
{
P[i] = Pair(LEN - i, i);
}
print(P, LEN);
auto&& comparator = [](const Pair& lhs, const Pair& rhs){ return lhs.second > rhs.second;};
std::sort(P, P + LEN, comparator);
print(P, LEN);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKI2RlZmluZSBMRU4gNQoKdXNpbmcgUGFpciA9IHN0ZDo6cGFpcjxpbnQsIGludD47Cgp2b2lkIHByaW50KFBhaXIgcFtdLCBpbnQgbGVuKQp7Cglmb3IoaW50IGk9MDsgaTwgbGVuOyBpKyspCgl7CgkJc3RkOjpjb3V0PDwieyI8PHBbaV0uZmlyc3Q8PCIsIjw8cFtpXS5zZWNvbmQ8PCJ9IHwgIjsKCX0KCXN0ZDo6Y291dDw8c3RkOjplbmRsOwp9CgppbnQgbWFpbigpIHsKCVBhaXIgUFtMRU5dOwoJZm9yKGludCBpPSAwOyBpPExFTjsgaSsrKQoJewoJCVBbaV0gPSBQYWlyKExFTiAtIGksIGkpOwoJfQoJcHJpbnQoUCwgTEVOKTsKCWF1dG8mJiBjb21wYXJhdG9yID0gIFtdKGNvbnN0IFBhaXImIGxocywgY29uc3QgUGFpciYgcmhzKXsgcmV0dXJuIGxocy5zZWNvbmQgPiByaHMuc2Vjb25kO307CglzdGQ6OnNvcnQoUCwgUCArIExFTiwgY29tcGFyYXRvcik7CglwcmludChQLCBMRU4pOwoJcmV0dXJuIDA7Cn0=
{5,0} | {4,1} | {3,2} | {2,3} | {1,4} |
{1,4} | {2,3} | {3,2} | {4,1} | {5,0} |