== include(page="template/taskheader" task_id="patrate6") ==
Definim un pătrat-putere ca fiind un pătrat cu latura de forma 2^x^, x număr natural. Se dau mai multe astfel de pătrate. Se cere aflarea pătratului-putere de arie minimă care poate cuprinde toate pătratele-putere date.
Definim un pătrat-putere ca fiind un pătrat cu latura de forma 2^x. Se dau mai multe astfel de pătrate. Se cere aflarea pătratului-putere de arie minimă care le poate cuprinde toate pătratele-putere date.
Spunem că un pătrat poate cuprinde alte N pătrate dacă există un mod de a plasa cele N pătrate, pe un plan, în interiorul pătratului mare. Cele N pătrate trebuie să nu se intersecteze două câte două si să nu aibă porţiuni în afara pătratului care le cuprinde, însă ele pot avea margini comune două câte două sau margini comune cu pătratul care le cuprinde.
h2. Date de intrare
Fişierul de intrare $patrate6.in$ va conţine pe prima linie un număr natural N, numărul de pătrate-putere. A doua linie va conţine N numere naturale, fiecare număr x dintre acestea descriind un pătrat-putere cu latura 2^x^
Fişierul de intrare $patrate6.in$ va conţine pe prima linie un număr VALMAX. Pe a doua linie vor fii VALMAX+1 numere. Al i-lea dintre aceste numere arată cât pătrate cu latura 2^(i-1) există.
h2. Date de ieşire
În fişierul de ieşire $patrate6.out$ se va găsi pe prima linie numărul R cu semnificaţia că pătratul-putere cu latura 2^R^ este pătratul-putere de arie minimă care poate cuprinde toate pătratele-putere descrise in fişierul de intrare.
În fişierul de ieşire $patrate6.out$ se va găsi pe prima linie numărul X cu semnificaţia că pătratul-putere cu latura 2^X este pătratul-putere de arie minimă care poate cuprinde toate pătratele-putere descrise in fişierul de intrare.
h2. Restricţii
* $1 ≤ N ≤ 10^5^$
* $0 ≤ x ≤ 10^9^ unde 2^x^ este latura unui pătrat$
* $Pentru 60% din teste 0 ≤ x ≤ 10^6^$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. patrate6.in |_. patrate6.out |
| 4
1 0 1 2
| 3
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
...
== include(page="template/taskfooter" task_id="patrate6") ==