Diferente pentru problema/pif intre reviziile #1 si #7

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="pif") ==
Poveste şi cerinţă...
După ce a primit de la Simonet, profesorul său de studii sociale, tema pentru proiect, tânărului Trevor i-a venit ideea jocului ”Pay it forward”. Pentru cei care nu ştiu acest joc, el constă în ajutarea de către Trevor a oamenilor aflaţi la ananghie. Aceştia la rândul lor vor ajuta alţi oameni şi aşa mai departe.
Fiecare participant (inclusiv Trevor) trebuie să realizeze câte $k$ fapte bune prin care să ajute oamenii. Vârstnicii şi tinerii îşi îndeplinesc în mod diferit această sarcină. Vârstnicii au nevoie de $zv$ zile pentru a introduce în joc o altă persoană, iar tinerii au nevoie de $zt$ zile. Astfel dacă un vârstnic, respectiv un tânăr, intră în joc în ziua $i$, el va introduce la rândul lui în joc prima persoană în ziua $i+zv$, respectiv în ziua $i+zt$ tânărul, a doua persoană în ziua $i+2*zv$, respectiv în ziua $i+2*zt$ tânărul şi aşa mai departe. Astfel numărul de persoane care participă la joc poate fi diferit în funcţie de cum sunt alese persoanele vârstnice şi cele tinere. Trevor doreşte ca în joc să fie realizate în total cât mai multe fapte bune, dar fiecare participant să aducă în joc maximum $(k+1)/2$ tineri şi maximum $(k+1)/2$ vârstnici. Participanţii pot aduce mai puţine persoane de un anumit tip, dar nu au voie să depăşească numărul de $(k+1)/2$ persoane de acelaşi tip.
 
h2. Cerinţe
 
Care este numărul $fb$ de fapte bune care mai sunt de realizat, după trecerea a $n$ zile, de către persoanele intrate deja în joc, astfel încât numărul total de fapte bune aşteptate (şi cele realizate şi cele nerealizate) să fie maxim?\
h2. Date de intrare
Fişierul de intrare $pif.in$ ...
Fişierul de intrare $pif.in$ conţine pe prima linie numărul natural $n$, pe a doua linie numărul $k$ şi pe a treia linie numerele $zv$ şi $zt$ separate printr-un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $pif.out$ ...
În fişierul de ieşire $pif.out$ se va scrie restul împărţirii lui $fb$, cu semnificaţia din enunţ, la $1234567$ ({$fb modulo 1234567$}).
h2. Restricţii
* $... ≤ ... ≤ ...$
* $1 ≤ n ≤ 10^6^$
* $1 ≤ k, zt, zv ≤ n$
* Pentru teste în valoare de $30$ de puncte $fb ≤ 106$
* Pentru teste în valoare de $30$ de puncte $zv = zt = 1$
* Pentru teste în valoare de $20$ de puncte $zv = zt ≠ 1$
* Pentru teste în valoare de $70$ de puncte $k*n ≤ 10^6^$
* $10$ puncte sunt din officiu; ele coincid unor teste egale cu primul exemplu.
h2. Exemplu
table(example). |_. pif.in |_. pif.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
table(example).
|_. pif.in
|_. pif.out
|
| 4
2
1 2
| 7
|
h3. Explicaţie
...
$n=4, k=2, zv=1, zt=2$
Avem $16$ moduri posibile în care se pot alege persoanele vârstnice şi tinere.
Dintre ele doar $5$ respectă condiţia ca numărul vârstnicilor şi al tinerilor să fie maxim $1$. Dintre cele $5$ doar două obţin un număr maxim de fapte bune aşteptate.
Notăm cu $T$ pe Trevor, cu $Vn$ persoanele vârstnice şi cu $Tn$ persoanele tinere.
Unul dintre cele $2$ cazuri cu număr maxim de fapte bune este următorul:
 
| Ziua | Persoane datoare să ajute | Persoane ajutate | Explicaţie |
| $0$ | T | - | T începe jocul (intră în joc) |
| $1$ | T | - | T nu ajută pe nimeni (nu au trecut 2 zile) |
| $2$ | T | V1 | T ajută V1 |
| $3$ | T | - | T nu ajută pe nimeni (nu au trecut 4 zile) |
| $3$ | V1 | V2 | V1 ajută V2 |
| $4$ | T | T1 | T ajută T1 |
| $4$ | V1 | T2 | V1 ajută T2 |
| $4$ | V2 | V3 | V2 ajută V3 |
 
În zilele următoare:
V2 ar trebui să mai ajute încă un tânăr.
V3 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
T1 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
T2 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
Deci au mai rămas $7$ fapte bune de realizat.
 
Celălalt caz cu număr maxim de fapte bune este următorul:
 
| Ziua | Persoane datoare să ajute | Persoane ajutate | Explicaţie |
| $0$ | T | - | T începe jocul (intră în joc) |
| $1$ | T | - | T nu ajută pe nimeni (nu au trecut 2 zile) |
| $2$ | T | V1 | T ajută V1 |
| $3$ | T | - | T nu ajută pe nimeni (nu au trecut 4 zile) |
| $3$ | V1 | V2 | V1 ajută V2 |
| $4$ | T | T1 | T ajută T1 |
| $4$ | V1 | T2 | V1 ajută T2 |
| $4$ | V2 | T3 | V2 ajută T3 |
 
În zilele următoare:
V2 ar trebui să mai ajute încă un tânăr.
T1 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
T2 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
T3 ar trebui să mai ajute încă două persoane, un tânăr şi un vârstnic.
În total au mai rămas $7$ fapte bune de realizat.
== include(page="template/taskfooter" task_id="pif") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.