#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Entry
{
string Word;
int Count;
Entry(const string& word, int count)
: Word(word), Count(count)
{
}
};
int main() {
vector<Entry> entries = {{"hello", 2}, {"world", 8}, {"hi", 20}, {"connie", 10}};
sort(entries.begin(), entries.end(),
[](const Entry& a, const Entry& b)
{
return a.Count > b.Count;
}
);
for (const auto& e : entries)
{
cout << e.Word << ": " << e.Count << '\n';
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEVudHJ5IAp7CiAgICBzdHJpbmcgV29yZDsKICAgIGludCBDb3VudDsKICAgIAogICAgRW50cnkoY29uc3Qgc3RyaW5nJiB3b3JkLCBpbnQgY291bnQpCiAgICAgICAgOiBXb3JkKHdvcmQpLCBDb3VudChjb3VudCkKICAgIHsKICAgIH0KfTsKCmludCBtYWluKCkgewogICAgdmVjdG9yPEVudHJ5PiBlbnRyaWVzID0ge3siaGVsbG8iLCAyfSwgeyJ3b3JsZCIsIDh9LCB7ImhpIiwgMjB9LCB7ImNvbm5pZSIsIDEwfX07CiAgICAKICAgIHNvcnQoZW50cmllcy5iZWdpbigpLCBlbnRyaWVzLmVuZCgpLAogICAgICAgIFtdKGNvbnN0IEVudHJ5JiBhLCBjb25zdCBFbnRyeSYgYikKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhLkNvdW50ID4gYi5Db3VudDsKICAgICAgICB9CiAgICApOwogICAgCiAgICBmb3IgKGNvbnN0IGF1dG8mIGUgOiBlbnRyaWVzKQogICAgewogICAgICAgIGNvdXQgPDwgZS5Xb3JkIDw8ICI6ICIgPDwgZS5Db3VudCA8PCAnXG4nOwogICAgfQp9Cg==