pair の中身はいろいろ
昇順ソート(first でソートしてから second でソート)
vector<pair<int,int>> vp(10); sort(vp.begin(),vp.end());
降順ソート
vector<pair<int,int>> vp(10); sort(vp.begin(),vp.end(),std::greater<pair<int,int>>());
second でソートしてから first でソート
> で昇順
< で降順
second で昇順で、first で降順みたいなことができる。
sort(begin(vp),end(vp),[&](pair<int,int> a,pair<int,int> b){
if(a.second != b.second){
return a.second > b.second;
}else{
return a.first > a.first;
}
});