You are on page 1of 3

Descrierea soluiei pic

prof. Popescu Carmen


Colegiul Naional Gheorghe Lazr Sibiu
Pentru rezolvarea primei cerine se calculeaz, simultan cu citirea datelor, suma
capacitilor de pe fiecare nivel i se determin maximul acestor sume, reinndu-se i primul
nivel pentru care se atinge acest maxim.
Rezolvarea celei de-a doua cerine se bazeaz pe o simulare a curgerii picurilor.

Varianta 1 50 pct (20 puncte pentru cerina 1 + 30 puncte pentru cerina 2)


1

Presupune simularea pic cu pic, la fiecare pahar reinnd direcia n care va urma s curg
urmtoarea pictur.

Varianta 2 100 pct


soluie propus de prof. Ciprian Chec i prof. Marcel Drgan
Se face o simulare plecnd cu un set ntreg de picturi. La un anumit pahar, dac numrul
K de picturi ajunse la el este mai mare dect capacitatea C a acestuia, cele K-C picturi se vor
scurge n cele dou pahare de dedesubt, (K-C+1)/2 se vor scurge n paharul din stnga iar
restul de (K-C)/2 picturi se scurg n paharul din dreapta.

Pentru gsirea setului exact de picturi care este necesar pentru a umple toate paharele se
realizeaz o cutare binar n intervalul [0, ULLONG_MAX] simulnd n mod repetat curgerea
unui set nterg de picturi.
Complexitatea este O(N2 log ULLONG_MAX), unde N este numrul de pahare de pe
ultimul rnd, iar ULLONG_MAX este valoarea maxim a numrul de picturi necesar umplerii
tuturor paharelor.
ATENIE!!!
Soluiile la a doua cerin depesc int, este necesar folosirea tipului de date long long.

You might also like