fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <numeric>
  5. using namespace std;
  6.  
  7. int metric(const vector<int>& v){
  8. return - accumulate(v.begin(), v.end(), 0, [](int init, int val){
  9. return init += (val<0 && (-val)%2 == 1) ? val : 0;
  10. });
  11. }
  12.  
  13. int main() {
  14. vector<vector<int>> m { {-1, -2, -3},
  15. {-2, -3, -4},
  16. {-3, -4, -5} };
  17.  
  18. sort(m.begin(), m.end(), [](const auto& lft, const auto& rgt){
  19. return metric(lft) < metric(rgt);
  20. });
  21.  
  22. return 0;
  23. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
Standard output is empty