Pătrățel deține un teren agricol format din parcele. El a achiziționat mașini de semănat de ultimă generație, care funcționează într-un mod particular. Fiecare mașină are o capacitate de semănat și este fixată pe una dintre parcele. Numărul de semințe plantate de mașină pe o parcelă se determină folosind formula , unde reprezintă distanța în parcele față de mașina de semănat. În locația exactă a mașinii, unde distanța este , se plantează exact semințe. Pe parcelele adiacente, numărul de semințe scade pe măsură ce distanța față de mașină crește, iar procesul de semănat se oprește când ajunge la .
Terenul lui Pătrățel include parcele cu ziduri, pe care nu se pot planta semințe. Zidurile blochează răspândirea semințelor dincolo de parcela respectivă. Mașinile opresc procesul de semănare, de asemenea, la capetele terenului, la stânga și la dreapta. Două mașini pot semăna semințe pe aceeași parcelă, întrucât nu interferează între ele.
Cerință
Sarcina voastră este să corectați un program scris deja de altcineva care afișează cum arată fiecare parcelă după semănat. Îl puteți găsi aici sau în secțiunea „Atașamente” din lateral.
În parcelele cu ziduri, trebuie să afișați . Pentru celelalte parcele, indicați numărul total de semințe plantate, luând în considerare amplasarea mașinilor de semănat și prezența zidurilor.
Date de intrare
Pe prima linie se citește , reprezentând lungimea terenului exprimată în numărul de parcele.
Pe a doua linie se citește , numărul de parcele cu ziduri.
Pe a treia linie se citesc numere care reprezintă indicii zonelor cu ziduri. Indicii sunt numerotați începând de la (vezi exemplul).
Pe linia următoare, se citește , numărul de mașini de semănat.
Pe următoarele linii se citesc perechi de valori , reprezentând:
- — puterea de semănat a mașinii.
- — poziția mașinii pe teren. Indexarea se face începând de la .
Date de ieșire
La finalul procesului de semănat, afișați starea fiecărei parcele de teren. Pentru fiecare parcelă, afișați numărul total de semințe plantate în acea zonă. În cazul parcelelor care conțin ziduri, afișați valoarea .
Rezultatele vor fi afișate pe o singură linie, separate prin spațiu. Fiecare număr afișat reprezintă fie numărul de semințe de pe o parcelă, fie valoarea pentru parcelele cu ziduri.
Restricții și precizări
- Pentru fiecare mașină, .
Exemplul 1
stdin
21
4
1 4 8 21
3
20 2
5 6
3 15
stdout
-1 20 19 -1 4 5 4 -1 0 0 0 0 1 2 3 2 1 0 0 0 -1
Explicație
- Mașina (putere: , locație: ) nu poate semăna la stânga din cauza zidului, dar seamănă semințe la dreapta, până la următorul zid.
- Mașina (putere: , locație: ) seamănă spre stânga și dreapta, dar este blocată de ziduri pe ambele direcții.
- Mașina (putere: , locație: ) seamănă câteva semințe în ambele direcții, când puterea sa se epuizează, aceasta se oprește. Nu atinge niciun zid până la oprire!
Exemplul 2
stdin
5
2
3 5
2
15 2
15 4
stdout
14 15 -1 15 -1
Explicație
- Mașina (putere: , locație: ) poate semăna pe parcela sa, și în stânga, până la marginea terenului, iar zidul de pe parcela o blochează în dreapta.
- Mașina (putere: , locație: ) seamănă doar pe parcela sa, deoarece este blocată de ziduri în ambele părți.