MiniBachelor

/* Leider kommt das Dokumentations-Tool Doxygen nicht besonders gut mit fremden Dateiformaten zurecht. Zum Glück ist thrift beim Kommentieren sehr tolerent und akzeptiert C++ Kommentare sowie "Kreuze" */

enum Flag {
    OK = 0,
    TIMEOUT = 1,
    CUT = 2
}

struct Instance {
    1:list<list<i32> > _costs,
    2:list<i32> _budgets,
    3:list<i32> _profits,
    4:i32 _timeoutMs
}

struct SolveResult {
    1:i32 _optimum,
    2:list<bool> _projects,
    3:Flag _flag
}

service Solver {
    void setInstance(1:Instance data),
    SolveResult solve(1:list<bool> fix, 2:i32 lastBest)
}