C++ vector<pair<int, int>> をソート したい
pairの和の降順にソートをしたいです
C++
1vector<pair<int,int>> vp; 2sort(vp.begin(), vp.end(), [](pair<int, int> x, pair<int, int> y) {return x.first+x.second > y.first+y.second;});
上のコードでvector内に存在する各要素をpairの和の降順にソートできているのでしょうか?
もし間違っていた場合にアドバイスをいただけると幸いです。
例
1, 2
3, 4,
2, 2
4, 5
のような入力の場合には
4, 5
3, 4
2, 2
1, 2
にしたいということです。
解決すべき問題は何ですか?
Teratail の理念としては「まずは実際に作業に取り組み、つまづいたところで投稿をしてみてください」ということになっています。
https://teratail.com/help/avoid-asking
起きてもいない問題を探すのはデバッグ依頼に相当すると思いますし、曖昧な前提ではそれも難しいです。
おそらくなんらかの想定漏れがないか不安だという意味の質問だと思うのですが、想定の中で正しく動作するかというのは技術的に判断できても、想定が正しいか、想定漏れがないかというのは回答者には判断のしようがありません。
提示されたプログラムの断片の使い方の想定は質問者が提示すべきことであって、回答者は情報を持たないからです。
その上でよくある事例や起こりそうなことを助言することは可能ではありますが、結局は空想の「かもしれない」の話になってしまいますからね……。