#include <vector>
#include <set>
#include <algorithm>
#include <iostream>
std::set<std::string> InsertByLength(std::vector<std::string> src)
{
std::sort(src.begin(), src.end(), [](const std::string& a, const std::string& b)
{
return a.size() < b.size();
});
std::set<std::string> ret;
for(auto s : src) {
std::cout << s << std::endl;
ret.insert(s);
}
return ret;
}
int main()
{
auto result = InsertByLength({
"Apple", "Apricots", "Avocado", "Durian", "Fig", "Tangerine/Clementine",
"Kumquat", "Lemon", "Pear", "Prunes" "Raspberries", "Strawberries",
"Watermelon"});
std::cout << "Inserted: " << result.size() << " elements\n";
return 0;
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RkOjpzZXQ8c3RkOjpzdHJpbmc+IEluc2VydEJ5TGVuZ3RoKHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzcmMpCnsKICBzdGQ6OnNvcnQoc3JjLmJlZ2luKCksIHNyYy5lbmQoKSwgW10oY29uc3Qgc3RkOjpzdHJpbmcmIGEsIGNvbnN0IHN0ZDo6c3RyaW5nJiBiKQogICAgICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhLnNpemUoKSA8IGIuc2l6ZSgpOwogICAgICAgICAgICB9KTsKCiAgc3RkOjpzZXQ8c3RkOjpzdHJpbmc+IHJldDsKICBmb3IoYXV0byBzIDogc3JjKSB7CiAgICBzdGQ6OmNvdXQgPDwgcyA8PCBzdGQ6OmVuZGw7CiAgICByZXQuaW5zZXJ0KHMpOwogIH0KCiAgcmV0dXJuIHJldDsKfQoKaW50IG1haW4oKQp7CiAgYXV0byByZXN1bHQgPSBJbnNlcnRCeUxlbmd0aCh7CiAgICAiQXBwbGUiLCAiQXByaWNvdHMiLCAiQXZvY2FkbyIsICJEdXJpYW4iLCAiRmlnIiwgIlRhbmdlcmluZS9DbGVtZW50aW5lIiwKICAgICJLdW1xdWF0IiwgIkxlbW9uIiwgIlBlYXIiLCAiUHJ1bmVzIiAgIlJhc3BiZXJyaWVzIiwgIlN0cmF3YmVycmllcyIsCiAgICAiV2F0ZXJtZWxvbiJ9KTsKCiAgc3RkOjpjb3V0IDw8ICJJbnNlcnRlZDogIiA8PCByZXN1bHQuc2l6ZSgpIDw8ICIgZWxlbWVudHNcbiI7CgogIHJldHVybiAwOwp9Cg==