// La idea parecida que falla: el asesor se queda con la primera oferta y nunca cambia.
#include <iostream>

#include "instances.h"

int main() {
    Preferences students = example_students();
    Preferences advisors = example_advisors();
    std::vector<int> partner = first_offer_matching(students);
    std::cout << "primera oferta:";
    for (int p = 0; p < static_cast<int>(partner.size()); p++) {
        std::cout << " t" << p << "-a" << partner[p];
    }
    std::cout << '\n';
    auto unstable = find_unstable_pair(partner, students, advisors);
    if (unstable) {
        std::cout << "par inestable: t" << unstable->first << " y a" << unstable->second << '\n';
    } else {
        std::cout << "sin pares inestables\n";
    }
}
