{"trustable":false,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript type\u003d\"text/javascript\" async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS_HTML-full\"\u003e\u003c/script\u003e","sections":[{"title":"Enunt \u0026 cerinte","value":{"format":"MD","content":"Un spital care isi desfasoara activitatea in intervalul 9-17 se confrunta cu un numar mare de pacienti in sectia de urgente. Pentru a putea deservi mai bine persoanele in nevoie, acest spital isi propune sa implementeze o solutie software dedicata automatizarii managemenetului situatiilor de urgenta, reducand astfel, pe cat de mult posibil, eroarea umana. In scenariul de baza o persoana vine la un moment din zi cu o anumita problema care, evident, reflecta un anume grad de severitate. Numarul cadrelor medicale alocat pentru rezolvarea problemelor este limitat, asadar, este necesara stabilirea ordinii in care urgentele vor fi preluate. Cadrele medicale pot avea una sau mai multe specializari (de exemplu: Ortopedie, Cardiologie), iar in momentul in care un doctor primeste un pacient, acesta ramane indisponibil pana ce respectiva problema este solutionata. Alocarea fiecarei probleme unui anumit doctor se face pe rand, in functie de cine are calificarile si timpul necesar pentru rezolvare.\n\nSa se creeze un algoritm care va fi folosit ulterior in aplicatia de management si care sa aiba ca output modul in care vor fi repartizate problemele, respectand cerintele:\n\nA. Se considera ca toti pacientii ajung in acelasi timp (la ora 9), indiferent de ora sosirii din input. Problemele se vor rezolva pe rand (in ordinea inputului), fara a tine cont de prioritatea acordata. Asignarea catre doctori se face in ordinea citirii, alegandu-se primul cadru medical specializat care are destul timp disponibil.\n\nB. Se tine cont atat de ora sosirii din input, cat si de prioritatea urgentei fiecarei persoane (intr-un caz de egalitate se alege problema cu prioritate mai mare). Asignarea catre doctori se face in ordinea citirii, alegandu-se primul cadru medical specializat care este disponibil la momentul alocarii problemei.\n"}},{"title":"Cerinta A:","value":{"format":"MD","content":"Netinandu-se cont de ora sosirii si prioritatea urgentei, sa se afiseze fiecare doctor cu problemele care i-au fost asignate.\n\n1.\tProblema Contuzie se va aloca primului cadru medical disponibil care are ca specializare Ortopedie.\n2.\tPentru ca cea de-a doua problema (Leziune) are o durata de 3 ore, iar primul cadru medical nu mai are suficient timp pentru a o aborda, aceasta va fi preluata de cel de-al doilea cadru medical care are specializarea Ortopedie.\n3.\tCea de-a treia problema, Traumatism, va fi asignata singurului cadru medical care are specializarea Traumatologie, avand in vedere ca se incadreaza in orarul de munca.\n4.\tProblema Sinuzita va fi alocata singurului cadru medical disponibil care are ca specializare ORL.\n\n\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\t\nCONTUZIE \tORTOPEDIE\t9 7 1\nLEZIUNE \tORTOPEDIE\t9 3 4\nTRAUMATISM TRAUMATOLOGIE\t11 2 7\nSINUZITA \tORL\t15 1 2\n3\nDR1 1 ORTOPEDIE \nDR2 2 ORTOPEDIE TRAUMATOLOGIE \nDR3 1 ORL\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e\nDr1 1 Contuzie\nDr2 2 Leziune Traumatism\nDr3 1 Sinuzita\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}},{"title":"Cerinta B:","value":{"format":"MD","content":"Considerand atat ora cat si prioritatea urgentelor, sa se afiseze fiecare doctor cu problemele care i-au fost asignate si la ce ora le rezolva.\n\n1.\tDesi sunt 2 urgente care ajung in acelasi moment (Contuzie si Leziune), cea de-a doua va fi luata cu prioritate avand in vedere gradul mai ridicat. Primul cadru medical disponibil cat mai curand posibil cu specializarea Ortopedie este Dr1.\n2.\tProblema Contuzie este alocata celui de-al doilea cadru medical avand in vedere disponibilitatea lui imediata.\n3.\tDesi urgenta Traumatism ajunge la ora 11, singurul cadru medical disponibil pentru specialitatea Traumatologie nu are suficiente ore disponibile pentru a o aborda, aceasta problema va fi considerate ca nerezolvata.\n4.\tUrgenta Sinuzita se va asigna singurului cadru medical cu specializarea ORL incepand cu ora la care ajunge (de la 15).\n\n\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\t\nCONTUZIE \tORTOPEDIE\t9 7 1\nLEZIUNE \tORTOPEDIE\t9 3 4\nTRAUMATISM TRAUMATOLOGIE\t11 2 7\nSINUZITA \tORL\t15 1 2\n3\nDR1 1 ORTOPEDIE \nDR2 2 ORTOPEDIE TRAUMATOLOGIE \nDR3 1 ORL\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e\nDr1 1 Leziune 9\nDr2 1 Contuzie 9\nDr3 1 Sinuzita 15\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n"}}]}