Fișierul intrare/ieșire cartier.in, cartier.out Sursă ONI 2012 clasa a 6-a
Autor Ana Întuneric Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Cartier (clasa a 6-a)


Victor este un băiat deștept și simpatic, dar care se plictisește foarte ușor. Tatăl său trebuie să născocească în permanență noi jocuri care să îl stimuleze. Ultimul joc, cartier, are trei niveluri și se joacă utilizând o mulțime de cuburi gri, toate de aceeași dimensiune.

La primul nivel, Victor trebuie să construiască un bloc de formă dreptunghiulară format din n cuburi astfel încât suma dintre înălțimea blocului (H) și lățimea sa (L) să fie minimă și L ≤ H. De exemplu, pentru n=6 se pot construi patru blocuri ca în imagine, dar doar primul bloc (B1) respectă condițiile cerute.

Pentru a finaliza cel de-al doilea nivel al jocului, Victor trebuie să construiască un cartier, având la dispoziție un număr dat de cuburi pentru fiecare bloc care formează cartierul. Pentru construcția fiecărui bloc se respectă cerințele de la primul nivel al jocului. În interiorul cartierului, blocurile sunt așezate, în ordinea obținerii lor, lipite unul de celălalt.

La al treilea nivel, Victor trebuie să determine un număr maxim de blocuri alăturate, astfel încât înălțimea primului bloc din șir și înălțimea ultimului bloc din șir să nu fie numere prime între ele. Ajutați-l pe Victor să finalizeze nivelurile doi și trei ale jocului cartier.

Cerință

Scrieți un program care determină următoarele numere:
a) x, ce reprezintă numărul blocurilor de înălțime maximă construite la nivelul al doilea;
b) y, ce reprezintă suma lățimilor blocurilor din cartierul construit la nivelul al doilea;
c) z, ce reprezintă numărul de blocuri din șirul determinat la nivelul al treilea.

Date de intrare

Fișierul de intrare cartier.in conține pe prima linie un număr natural n (numărul de blocuri de construit) și pe a doua linie n numere naturale, separate prin câte un spațiu, reprezentând numărul de cuburi corespunzătoare fiecărui bloc.

Date de ieșire

Fișierul de ieșire cartier.out conține numerele x, y și z, în această ordine, fiecare pe câte o linie.

Restricții

  • 1 ≤ n < 5000
  • Numerele naturale citite aparțin intervalului [1,13000]
  • Se acordă punctaje parțiale astfel: pentru punctul a) 40%, pentru punctul b) 30% și pentru punctul c) 30%.

Exemplu

cartier.in cartier.out
6
7 4 10 12 10 15
1
13
4

Explicație

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii