piramide

Time limit: 0.2s Memory limit: 4MB Input: piramide.in Output: piramide.out

Fascinat de Egiptul Antic, Rareș vrea să construiască cât mai multe piramide din cartonașe pătratice identice. El are la dispoziție NN cartonașe numerotate de la 11 la NN, albe sau gri, așezate în ordinea strict crescătoare a numerelor.

Prima piramidă o va construi folosind primele trei cartonașe. Baza piramidei va fi formată din cartonașele 11 și 22 așezate alăturat, peste care va așeza cartonașul 33 (vârful piramidei).

A doua piramidă va avea baza formată din cartonașele 44, 55 și 66 așezate alăturat, deasupra cărora se vor așeza cartonașele 77 și 88, alăturate, peste care se va așeza cartonașul 99 (vârful piramidei).

Mai departe, va construi în ordine piramidele complete cu bazele formate din 44 cartonașe (cu numerele de la 1010 la 1313), respectiv 55 cartonașe (cu numerele de la 2020 la 2424), 66 cartonașe (cu numerele de la 3535 la 4040) etc., cât timp va putea construi o piramidă completă. De exemplu, dacă Rareș are N=75N = 75 cartonașe atunci el va construi piramidele complete 11, 22, 33, 44 și 55 din imaginile următoare. Din cele 7575 de cartonașe el va folosi doar primele 5555 de cartonașe, deoarece ultimele 2020 cartonașe nu sunt suficiente pentru a construi piramida 66, cu baza formată din 77 cartonașe.

Cerință

Scrieți un program care să citească numerele naturale NN (reprezentând numărul de cartonașe), XX (reprezentând numărul unui cartonaș), KK (reprezentând numărul de cartonașe albe), numerele celor KK cartonașe albe c1c_1, c2c_2, ..., cKc_K și care să determine:

  • numărul PP al piramidei complete ce conține cartonașul numerotat cu XX;
  • numărul MM maxim de piramide complete construite de Rareș;
  • numărul CC de cartonașe nefolosite;
  • numărul AA al primei piramide complete care conține cele mai multe cartonașe albe. 

Date de intrare

Fișierul de intrare piramide.in conține pe prima linie cele trei numere NN, XX și KK, separate prin câte un spațiu, cu semnificația din enunț. A doua linie a fișierului conține, în ordine, cele KK numere c1c_1, c2c_2, ..., cKc_K, separate prin câte un spațiu, reprezentând numerele celor KK cartonașe albe din cele NN.

Date de ieșire

Fișierul de ieșire piramide.out va conține pe prima linie numărul PP sau valoarea 00 (zero) dacă niciuna dintre piramidele complete construite nu conține cartonașul cu numărul XX.

A doua linie a fișierului va conține numărul MM.

Cea de-a treia linie va conține numărul CC.

Cea de-a patra linie va conține numărul AA sau valoarea 00 (zero) dacă nicio piramidă completă nu conține cel puțin un cartonaș alb.

Restricții și precizări

  • 1a,b1 000 0001 \leq a, b \leq 1 \ 000 \ 000;
  • 3N100 0003 \leq N \leq 100 \ 000;
  • 1XN1 \leq X \leq N;
  • 1KN1 \leq K \leq N;
  • 1c1<c2<...<cKN1 \leq c_1 < c_2 <...< c_K \leq N;
  • O piramidă completă cu baza formată din bb cartonașe se construiește prin așezarea cartonașelor necesare pe bb rânduri: bb cartonașe pe primul rând (al bazei), apoi b1b - 1 cartonașe pe rândul al doilea, b2b - 2 pe rândul al treilea, \dots , două cartonașe pe rândul b1b - 1 și un cartonaș (vârful piramidei) pe rândul bb.
  • Pentru rezolvarea cerinței a) se acordă 20% din punctaj, pentru cerința b) 20% din punctaj, pentru cerința c) 20% din punctaj și pentru cerința d) 40% din punctaj.

Exemplu

piramide.in

75 15 23
5 9 11 18 20 21 25 27 28 30 35 37 45 46 51 55 60 65 68 69 70 71 72

piramide.out

3
5
20
4

Explicație

Piramida 33 (P=3P = 3) construită conține cartonașul cu numărul X=15X = 15. Rareș poate construi doar M=5M = 5 piramide complete, rămânând nefolosite 2020 cartonașe (C=20C = 20) insuficiente pentru construirea piramidei 66. Numărul maxim de cartonașe albe dintr-o piramidă completă este egal cu 66. Piramidele 44 și 55 conțin fiecare un număr maxim de cartonașe albe (66), prima dintre acestea fiind piramida 44 (A=4A = 4). Ultimele 77 cartonașe albe (cu numerele: 6060, 6565, 6868, 6969, 7070, 7171, 7272) nu sunt folosite în construirea piramidelor complete.

Log in or sign up to be able to send submissions!