Diferente pentru problema/hamster intre reviziile #24 si #64

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="hamster") ==
h1. <tex>\HUGE \color{red}\rm PUNE\ RESTRIC\c TIILE!</tex>
 
După atâţia ani de mâncat seminţe, Hamsterul Vlăduţ a decis să treacă la o dietă mai sănătoasă. El are o pistă de alergare ce constă într-un dreptunghi format prin alipirea mai multor celule <tex>1 \times 1</tex> cap la cap, startul şi finishul fiind cele două muchii care mărginesc pista (stânga şi respectiv dreapta). El îşi propune să alerge în fiecare zi dintre următoarele <tex>Q</tex> zile. Cârtiţoiul Bobo, vechiul său duşman din copilărie, află de planul lui Vlăduţ şi decide să-l încurce puţin. El va alege un număr de <tex>N</tex> celule distincte ale pistei şi va săpa câte un şanţ exact după fiecăre celulă aleasă (dacă celula este <tex>i</tex>, el va crea un şanţ ce va separa celulele <tex>i</tex> şi <tex>i+1</tex>). Vlăduţ, văzând ce i-a făcut cârtiţoiul, se decide ca în fiecare zi să treacă peste primele <tex>K_i</tex> gropi (de la stânga spre dreapta), unde <tex>i</tex> este numărul zilei curente, iar <tex>K_i</tex> este un număr natural nenul ales de el. În plus, pentru că este la început şi îi este lene să sară peste gropi, el se gândeşte să împrumute de la vecinul său nişte placi, cu care să acopere toate gropile din calea lui. Vecinul său îi poate împrumuta în ziua <tex>i</tex> un număr nelimitat de plăci <tex>1 \times D_i</tex>, însă cu condiţia de a le returna până seara.
După atâţia ani de mâncat seminţe, Hamsterul Vlăduţ a decis să treacă la o dietă mai sănătoasă. El are o pistă de alergare ce constă într-un dreptunghi format prin alipirea mai multor celule <tex>1 \times 1</tex> cap la cap, startul şi finishul fiind cele două muchii care mărginesc pista (stânga şi respectiv dreapta). El îşi propune să alerge în fiecare zi dintre următoarele <tex>Q</tex> zile. Cârtiţoiul Bobo, vechiul său duşman din copilărie, află de planul lui Vlăduţ şi decide să-l încurce puţin. El va alege un număr de <tex>N</tex> celule distincte ale pistei şi va săpa câte un şanţ exact după fiecăre celulă aleasă (dacă celula este <tex>i</tex>, el va crea un şanţ ce va separa celulele <tex>i</tex> şi <tex>i+1</tex>). Vlăduţ, văzând ce i-a făcut cârtiţoiul, se decide ca în fiecare zi să treacă peste primele <tex>K_i</tex> gropi (de la stânga spre dreapta), unde <tex>i</tex> este numărul zilei curente, iar <tex>K_i</tex> este un număr natural nenul ales de el. În plus, pentru că este la început şi îi este lene să sară peste gropi, el se gândeşte să împrumute de la vecinul său nişte plăci, cu care să acopere toate gropile din calea lui. Vecinul său îi poate împrumuta în ziua <tex>i</tex> un număr nelimitat de plăci <tex>1 \times D_i</tex>, însă cu condiţia de a le returna până seara.
Hamsterul Vlăduţ are nevoie de ajutorul vostru pentru a-şi realiza planul şi vă cere să aflaţi pentru fiecare zi dintre cele <tex>Q</tex> ale dietei sale, care este numărul optim (minim) de plăci pe care trebuie să le folosească pentru a acoperi complet găurile pe care le are de parcurs (o placă nu are voie să acopere o celulă doar parţial, iar o gaură se consideră acoperită dacă se află oriunde în interiorul plăcii, sau pe capete, exact ca la un interval închis).
h2. Restricţii
* **Subtask 1 (20 puncte)**: $1 &le; N , Q &le; 2000$ si $1 &le; x[i] &le; 10^18^$
* **Subtask 2 (30 puncte)**: $1 &le; N &le; 1000$, $1 &le; Q &le; 3 * 10^5^$, $1 &le; x[i] &le; 10^9^$ si K = N
* **Subtask 3 (30 puncte)**: $1 &le; N &le; 1000$, $1 &le; Q &le; 3 * 10^5^$ si $1 &le; x[i] &le; 10^9^$
* **Subtask 4 (60 puncte)**: $1 &le; N &le; 3000$, $1 &le; Q &le; 3 * 10^5^$ si $1 &le; x[i] &le; 10^15^$
 
* **Subtask 1 (20 puncte)**: 1 &le; <tex> N , Q </tex> &le; 2000 şi 0 &le; <tex> X_i </tex> &le; 10^9^  (Feedback testul $4$)
* **Subtask 2 (30 puncte)**: 1 &le; <tex> N </tex> &le; 1000, 1 &le; <tex> Q </tex> &le; 3 * 10^5^, 0 &le; <tex> X_i </tex> &le; 10^9^ şi K = N  (Feedback testele $7$ si $10$)
* **Subtask 3 (30 puncte)**: 1 &le; <tex> N </tex> &le; 1000, 1 &le; <tex> Q </tex> &le; 3 * 10^5^ şi 0 &le; <tex> X_i </tex> &le; 10^9^  (Feedback testul $16$)
* **Subtask 4 (20 puncte)**: 1 &le; <tex> N </tex> &le; 3000, 1 &le; <tex> Q </tex> &le; 3 * 10^5^ şi 0 &le; <tex> X_i </tex> &le; 10^15^  (Feedback testul $20$)
* În toate subtaskurile 2 &le; <tex> K_i </tex> &le; N si 1 &le; <tex> D_i </tex>
* S-a notat cu <tex> X_i </tex> coordonata celei de a i-a gropi.
* Se garantează că datele din fişierul de intrare sunt corecte (indicii gropilor nu vor depăşi lungimea maximă a pistei, <tex>D_i</tex>-urile asemenea).
* Se garantează că oricare două poziţii diferite ale unor gropi au coordonate diferite.
* Indicii gropilor sunt deja ordonaţi crescători
* *ATENŢIE! Se recomandă parsarea fişierului de intrare $hamster.in$ pentru obţinerea scorului maxim. Puteţi folosi codul de pe siteul 'acesta':http://www.infoarena.ro/parsare-fisier-intrare (atât pentru utilizatorii de C++ şi sintaxă similară cu $fstream, cât şi pentru iubitorii de C pur$)*
h2. Exemplu
table(example). |_. hamster.in |_. hamster.out |
| 5 6 <tex>\color{red}\text{Verific\u a exemplul!}</tex>
| 5 6
  2 4 5 7 9
  3 2
  3 1
  5 1
  5 2
  4 3
| 2 <tex>\color{red}\text{Verific\u a exemplul!}</tex>
| 2
  2
  1
  4
h3. Explicaţie
...
Primul exemplu este cel din poza.
== include(page="template/taskfooter" task_id="hamster") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.