AtCoder ABC128 B問題( https://atcoder.jp/contests/abc128/tasks/abc128_b )で使った。tupleの第二要素→第三要素の順でsortしているが,前者は辞書順(昇順),後者は降順である。
main.cpp
//main外
typedef tuple<int, string, int> mytuple;
//main内
vector<mytuple> V;
auto condition = [](mytuple &alpha, mytuple &beta){
if(get<1>(alpha) != get<1>(beta)) return get<1>(alpha) < get<1>(beta);
return get<2>(alpha) > get<2>(beta);
});
sort(V.begin(), V.end(), condition);