#include #include #include #include #include #include using namespace std; class Agent{ public: bool sell; string name; int money; vector ok; Agent() { int koruny; int halire; string smer; cin >> name; cin >> smer; sell = (smer == "sell"); char c; cin >> koruny >> c >> halire; money = koruny * 1000 + halire; // p(); } void p() { cout << "name " << name << endl; cout << "sell " << sell << endl; cout << "mone " << money << endl; } ~Agent() { ok.clear(); } bool compare(Agent *a) { if (this == a) return false; if (sell && !a->sell) { if (money <= a->money) { ok.push_back(a); a->ok.push_back(this); return true; } } if (!sell && a->sell) { if (money >= a->money) { ok.push_back(a); a->ok.push_back(this); return true; } } return false; } void print() { cout << name << ":"; if (ok.size() == 0) cout << " NO-ONE"; else { for (int i = 0; i < ok.size(); i++) { cout << " " << ok[i]->name; } } cout << endl; } }; vector agents; int main(void) { int n; string issuer; cin >> n; cin >> issuer; while(n) { cout << issuer << endl; for (int i = 0; i < n; i++) { Agent *a = new Agent(); agents.push_back(a); } for (int x = 0 ; x < agents.size(); x++) { for (int y = x; y < agents.size(); y++) { agents[x]->compare(agents[y]); } } for (int i = 0 ; i< agents.size(); i++) { agents[i]->print(); } for (int i = 0 ; i< agents.size(); i++) { delete agents[i]; } agents.clear(); cin >> n; cin >> issuer; } return 0; }