#include <iostream>
#include <vector>
#include <algorithm>
struct results {
unsigned int id; //id of the team
unsigned int m; //number of solved problems
} ;
// I guess you're trying to sort on number of solved problems. If not, change `.m` to `.id`
bool comparare( const results lhs, const results rhs) {
return lhs.m > rhs.m ;
}
int main( ) {
size_t n;
std:: cout << "Enter number of results: " << std:: endl ;
std:: cin >> n;
std:: vector < results> standings( n) ; // Creates std::vector of results with n elements
// read in id and number of problems solved
for ( size_t i= 0 ; i < n; ++ i) {
std:: cin >> standings[ i] .id >> standings[ i] .m ;
}
// sort the array
std:: sort ( standings.begin ( ) , standings.end ( ) , comparare) ;
// output the sorted array's id
for ( size_t i = 0 ; i < standings.size ( ) ; ++ i) {
std:: cout << "In " << i+ 1 << " place: " << standings[ i] .id << " with " << standings[ i] .m << " problems solved." << std:: endl ;
}
return 0 ;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDx2ZWN0b3I+CiAgICAjaW5jbHVkZSA8YWxnb3JpdGhtPgogICAgCiAgICBzdHJ1Y3QgcmVzdWx0cyB7CiAgICAgIHVuc2lnbmVkIGludCBpZDsgLy9pZCBvZiB0aGUgdGVhbQogICAgICB1bnNpZ25lZCBpbnQgbTsgLy9udW1iZXIgb2Ygc29sdmVkIHByb2JsZW1zCiAgICB9OwogICAgCiAgICAvLyBJIGd1ZXNzIHlvdSdyZSB0cnlpbmcgdG8gc29ydCBvbiBudW1iZXIgb2Ygc29sdmVkIHByb2JsZW1zLiBJZiBub3QsIGNoYW5nZSBgLm1gIHRvIGAuaWRgCiAgICBib29sIGNvbXBhcmFyZShjb25zdCByZXN1bHRzIGxocywgY29uc3QgcmVzdWx0cyByaHMpIHsKICAgICAgcmV0dXJuIGxocy5tID4gcmhzLm07CiAgICB9CiAgICAKICAgIGludCBtYWluKCkgewogICAgCiAgICAgIHNpemVfdCBuOwogICAgICAKICAgICAgc3RkOjpjb3V0IDw8ICJFbnRlciBudW1iZXIgb2YgcmVzdWx0czogIiA8PCBzdGQ6OmVuZGw7CiAgICAgIHN0ZDo6Y2luID4+IG47CgogICAgIHN0ZDo6dmVjdG9yPHJlc3VsdHM+IHN0YW5kaW5ncyhuKTsgLy8gQ3JlYXRlcyBzdGQ6OnZlY3RvciBvZiByZXN1bHRzIHdpdGggbiBlbGVtZW50cwoKICAgICAgLy8gcmVhZCBpbiBpZCBhbmQgbnVtYmVyIG9mIHByb2JsZW1zIHNvbHZlZAogICAgICBmb3Ioc2l6ZV90IGk9MDsgaSA8IG47ICsraSkgewogICAgICAgIHN0ZDo6Y2luID4+IHN0YW5kaW5nc1tpXS5pZCA+PiBzdGFuZGluZ3NbaV0ubTsKICAgICAgfQogICAgCiAgICAgIC8vIHNvcnQgdGhlIGFycmF5CiAgICAgIHN0ZDo6c29ydChzdGFuZGluZ3MuYmVnaW4oKSwgc3RhbmRpbmdzLmVuZCgpLCBjb21wYXJhcmUpOwogICAgCiAgICAgIC8vIG91dHB1dCB0aGUgc29ydGVkIGFycmF5J3MgaWQKICAgICAgZm9yKHNpemVfdCBpID0gMDsgaSA8IHN0YW5kaW5ncy5zaXplKCk7ICsraSkgewogICAgICAgIHN0ZDo6Y291dCA8PCAiSW4gIiA8PCBpKzEgPDwgIiBwbGFjZTogIiA8PCBzdGFuZGluZ3NbaV0uaWQgPDwgIiB3aXRoICIgPDwgc3RhbmRpbmdzW2ldLm0gPDwgIiBwcm9ibGVtcyBzb2x2ZWQuIiA8PCBzdGQ6OmVuZGw7CiAgICAgIH0KICAgIAogICAgICByZXR1cm4gMDsKICAgIH0=