I had a vector of pairs. I wanted it sorted in descending according to the first value of the vector.
sort(a.begin(),a.end(),[](pair<int,int> &left, pair<int,int> &right){
return left.first >= right.first;
});
This gave me TLE. Sorting it normally
sort(a.begin(),a.end());
and iterating from the end worked.
Why does the first sorting function give TLE? Do I have to implement it some other way?
Auto comment: topic has been updated by hell_hacker (previous revision, new revision, compare).
sort requires its comparison operator to be strict.
This code should work:
Thank you! It worked now. Got to learn something new :)
There's no need to write custom comparator inline, because comparators for pair<int,int> are already there. You can simply write
sort(a.begin(), a.end(), greater<pair<int,int>>());
.