Time limit: 0.1s
Memory limit: 2MB
Input: cuburi.in
Output: cuburi.out
Fie un turn format din cuburi: primul (cel de jos) are latura . Fiecare cub ce se aşează peste altul are latura mai mică decât acesta, astfel încât este poziţionat cu vârfurile bazei sale exact în mijloacele laturilor bazei superioare a cubului precedent.
Desenul redă un turn format din trei cuburi şi care respectă condiţiile precizate.
Cerințe:
- Să se afişeze volumul corpului obţinut;
- Să se afişeze aria totală a corpului astfel obţinut (inclusiv baza inferioară a cubului de jos şi cea superioară a cubului de sus).
- Să se afişeze înălţimea turnului.
- Să se afişeze numărul minim de cuburi ce formează un turn de înălţime cel puţin , plecând de la cubul de latură în prima poziţie (cea de jos). Dacă nu sunt suficiente cuburi, se va afişa numărul .
Date de intrare
Fișierul de intrare cuburi.in
are pe prima linie numerele , şi , separate de un spaţiu.
Date de ieșire
Fișierul de ieșire cuburi.out
va avea pe primele sale patru linii cele patru rezultate, în ordinea: volumul, aria, înălţimea şi numărul de cuburi necesare pentru a atinge înălţimea (sau valoarea dacă este cazul).
Restricții și precizări
- este real strict pozitiv;
- este natural ();
- este real strict pozitiv.
- Calculele se vor face în numere reale, iar afişarea se va face cu zecimale.
- Dacă un concurent nu ştie să calculeze un răspuns, în fişierul de ieşire va scrie numărul în linia corespunzătoare acelui răspuns, altfel se va pierde punctajul parţial acordat. Exemplu: dacă lipsesc înălţimea (de la cerinţa b) şi aria (de la cerinţa c), fişierul de ieşire va avea tot linii şi anume: volumul în prima linie, în a doua linie, în a treia linie şi numărul cerut de cuburi în a patra linie.
- Lungimile sunt în , ariile în şi volumele în .
- Pentru cerinţele şi se acordă câte din punctaj, iar pentru cerinţele şi , câte din punctaj.
Exemplul 1
cuburi.in
10.00 2 20
cuburi.out
1353.55339
800.00000
17.07107
3
Exemplul 2
cuburi.in
10.00 3 40
cuburi.out
1478.55339
900.00000
22.07107
-1