#include #include #include using namespace std; int main() { // Načteme údaje o hotelu a počtu hostů. int P, N, H; cin >> P >> N >> H; // Vygenerujeme si všechny prázdné pokoje v hotelu. multiset hotel; for (int p=1; p<=P; ++p) for (int n=0; n reseni; while (H--) { int V; cin >> V; auto it = hotel.upper_bound(V); // "it" ukazuje na nejnižší NEvhodný pokoj if (it == hotel.begin()) break; // není pod ním vhodný volný pokoj => konec --it; // nyní "it" ukazuje na správný pokoj reseni.push_back(*it); // ten si zapamatujeme v řešení... hotel.erase(it); // ...a smažeme ho z množiny volných pokojů } // Vypíšeme řešení. cout << reseni.size() << "\n"; for (unsigned i=0; i