#include <algorithm>
#include <cmath>
#include <iostream>
#include <limits>
#include <string>
#include <vector>
struct student
{
student(const std::string& name, const int year, const double average)
: name(name), year(year), average(average) {}
std::string name;
int year;
double average;
};
int main()
{
std::vector<student> students;
students.push_back(student("Vasya", 1992, 4.5));
students.push_back(student("Marina", 1993, 5.0));
students.push_back(student("Olya", 1994, 4.9));
std::sort(
students.begin()
, students.end()
, [](const student& left, const student& right)
{
return left.average < right.average;
});
for (const student& stud : students)
{
std::cout << stud.name << '\n';
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxsaW1pdHM+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDx2ZWN0b3I+CgpzdHJ1Y3Qgc3R1ZGVudAp7CglzdHVkZW50KGNvbnN0IHN0ZDo6c3RyaW5nJiBuYW1lLCBjb25zdCBpbnQgeWVhciwgY29uc3QgZG91YmxlIGF2ZXJhZ2UpCgkJOiBuYW1lKG5hbWUpLCB5ZWFyKHllYXIpLCBhdmVyYWdlKGF2ZXJhZ2UpIHt9CgkKCXN0ZDo6c3RyaW5nIG5hbWU7CglpbnQgeWVhcjsKCWRvdWJsZSBhdmVyYWdlOwp9OwoKaW50IG1haW4oKQp7CglzdGQ6OnZlY3RvcjxzdHVkZW50PiBzdHVkZW50czsKCXN0dWRlbnRzLnB1c2hfYmFjayhzdHVkZW50KCJWYXN5YSIsIDE5OTIsIDQuNSkpOwoJc3R1ZGVudHMucHVzaF9iYWNrKHN0dWRlbnQoIk1hcmluYSIsIDE5OTMsIDUuMCkpOwoJc3R1ZGVudHMucHVzaF9iYWNrKHN0dWRlbnQoIk9seWEiLCAxOTk0LCA0LjkpKTsKCQoJc3RkOjpzb3J0KAoJCXN0dWRlbnRzLmJlZ2luKCkKCQksIHN0dWRlbnRzLmVuZCgpCgkJLCBbXShjb25zdCBzdHVkZW50JiBsZWZ0LCBjb25zdCBzdHVkZW50JiByaWdodCkKCQl7CgkJCXJldHVybiBsZWZ0LmF2ZXJhZ2UgPCByaWdodC5hdmVyYWdlOwoJCX0pOwoJCQoJZm9yIChjb25zdCBzdHVkZW50JiBzdHVkIDogc3R1ZGVudHMpCgl7CgkJc3RkOjpjb3V0IDw8IHN0dWQubmFtZSA8PCAnXG4nOwoJfQp9