#include <iostream>
#include <vector>
#include <algorithm>
struct Sheep
{
std::string Vardas;
std::vector<char> Fragmentas;
int atitikme;
};
int main()
{
std::vector<Sheep> vec =
{
{"Baltukas", {'T','A','G','C','T','T'}, 3},
{"Bailioji", {'A','T','G','C','A','A'}, 3},
{"Smarkuolis",{'A','A','T','G','A','A'}, 1},
{"Hmarkuolis",{'A','A','T','G','A','A'}, 1},
{"Kmarkuolis",{'A','A','T','G','A','A'}, 2}
};
std::sort(vec.begin(), vec.end(), [](const Sheep& lhs, const Sheep& rhs)
{
return (lhs.atitikme == rhs.atitikme) ?
lhs.Vardas < rhs.Vardas:
lhs.atitikme > rhs.atitikme;
});
for (const auto& it: vec)
std::cout << it.Vardas << " " << it.atitikme << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgogICAgI2luY2x1ZGUgPHZlY3Rvcj4KICAgICNpbmNsdWRlIDxhbGdvcml0aG0+CiAgICAKICAgIHN0cnVjdCBTaGVlcAogICAgewogICAgICAgc3RkOjpzdHJpbmcgVmFyZGFzOwogICAgICAgc3RkOjp2ZWN0b3I8Y2hhcj4gRnJhZ21lbnRhczsKICAgICAgIGludCBhdGl0aWttZTsKICAgIH07CiAgICAKICAgIGludCBtYWluKCkKICAgIHsKICAgICAgc3RkOjp2ZWN0b3I8U2hlZXA+IHZlYyA9CiAgICAgICB7CiAgICAgICAgICB7IkJhbHR1a2FzIiwgIHsnVCcsJ0EnLCdHJywnQycsJ1QnLCdUJ30sIDN9LAogICAgICAgICAgeyJCYWlsaW9qaSIsICB7J0EnLCdUJywnRycsJ0MnLCdBJywnQSd9LCAzfSwKICAgICAgICAgIHsiU21hcmt1b2xpcyIseydBJywnQScsJ1QnLCdHJywnQScsJ0EnfSwgMX0sCiAgICAgICAgICB7IkhtYXJrdW9saXMiLHsnQScsJ0EnLCdUJywnRycsJ0EnLCdBJ30sIDF9LAogICAgICAgICAgeyJLbWFya3VvbGlzIix7J0EnLCdBJywnVCcsJ0cnLCdBJywnQSd9LCAyfQogICAgICAgfTsKICAgIAogICAgICAgc3RkOjpzb3J0KHZlYy5iZWdpbigpLCB2ZWMuZW5kKCksIFtdKGNvbnN0IFNoZWVwJiBsaHMsIGNvbnN0IFNoZWVwJiByaHMpCiAgICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gKGxocy5hdGl0aWttZSA9PSByaHMuYXRpdGlrbWUpID8KICAgICAgICAgICAgICAgIGxocy5WYXJkYXMgPCByaHMuVmFyZGFzOiAKICAgICAgICAgICAgICAgIGxocy5hdGl0aWttZSA+IHJocy5hdGl0aWttZTsKICAgICAgICAgIH0pOwogICAgCiAgICAgICAgZm9yIChjb25zdCBhdXRvJiBpdDogdmVjKQogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgaXQuVmFyZGFzIDw8ICIgIiA8PCBpdC5hdGl0aWttZSA8PCAiXG4iOwogICAgCiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cgo=