Diferente pentru problema/kinder intre reviziile #13 si #22

Diferente intre titluri:

kinder
Kinder

Diferente intre continut:

Bunicuta Miruna are $N$ nepotei care sunt asezati in linie si sunt numerotati de la stanga spre dreapta, in ordine, cu numere naturale distincte de la $1$ la $N$. Deoarece se apropie Ziua Copilului, Miruna le-a cumparat nepoteilor mai multe oua Kinder. Aceste oua Kinder nu sunt toate la fel, ci sunt de $M$ tipuri (numerotate de la $1$ la $M$) si doua culori ( $0$ - rosu si $1$ - albastru). Tipul oului precizeaza cat de gustos este oul (daca tipul $t{~1~}<t{~2~}$, atunci un ou de tipul $t{~1~}$ va fi mai gustos decat un ou de tipul $t{~2~}$). Miruna va efectua operatii de urmatoarele 3 tipuri:
|_. Tip|_. Nume|_. Format|_. Efect|
|$1$|Update|$c t p nr$ |Copilul $c$ primeste $nr$ oua de tip $t$ si culoare $p$|
|$1$|Update|$c t p q$|Copilul $c$ primeste $q$ oua de tip $t$ si culoare $p$|
|$2$|Update|$c t$|Copilul $c$ ia fiecare ou de tipul $t$ care este al sau si il vopseste in culoarea opusa (din $0$ in $1$ si din $1$ in $0$)|
|3|Query|$a b p x$|Miruna se uita la ouale de culoare $p$ care apartin copiilor din intervalul $[a, b]$ si vrea sa afle tipul celui de-al $x$-lea cel mai gustos ou.|
 
|$3$|Query|$a b p x$|Miruna se uita la ouale de culoare $p$ care apartin copiilor din intervalul $[a, b]$ si vrea sa afle tipul celui de-al $x$-lea cel mai gustos ou.|
Scrieti un program care sa efectueze in mod eficient toate operatiile descrise.
h2. Date de intrare
Fisierul de intrare $kinder.in$ ...
Fisierul de intrare $kinder.in$ va contine pe prima linie $3$ numere naturale $N M T$, reprezentand numarul de nepotei, numarul de tipuri de oua, respectiv numarul de operatii ce vor fi efectuate. Pe fiecare dintre urmatoarele $T$ linii va fi descrisa cate o operatie. Linia care descrie o operatie incepe cu un numar ( $1$, $2$ sau $3$) care indica tipul operatiei, urmat de $4$, $2$, respectiv $4$ numere naturale conform formatului operatiei. Valorile scrise pe aceeasi linie sunt separate prin spatiu.
h2. Date de iesire
In fisierul de iesire $kinder.out$ ...
Fisierul de iesire $kinder.out$ va contine cate o linie pentru fiecare operatie de tip $3$ efectuata. Pe linia $i$ se afla raspunsul pentru cea de a $i$-a operatie de tip $3$ din fisierul de intrare.
h2. Restrictii
* $... &le; ... &le; ...$
* $1 &le; N, M, T &le; 50000$
* Pentru operatii de tipul $1$: $1 &le; c &le; N, 1 &le; t &le; M, 0 &le; p &le; 1, 1 &le; q &le; 1000$
* Pentru operatii de tipul $2$: $1 &le; c &le; N, 1 &le; t &le; M$
Se garanteaza ca nepotul $c$ are cel putin un ou de tip $t$
* Pentru operatii de tipul $3$: $1 &le; a &le; b &le; N, 0 &le; p &le; 1$
$1 &le; x &le;$ Numarul total de oua de culoare $p$ pe care le detin nepotii din intervalul $[a, b]$
Se garanteaza ca nepotii din intervalul $[a,b]$ detin cel putin un ou de culoare $p$.
h2. Exemplu
table(example). |_. kinder.in |_. kinder.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|5 100 3
 1 2 68 0 100
 2 2 68
 3 1 5 1 99
|68
|
h3. Explicatie
...
Miruna are $5$ nepoti, oua de $100$ de tipuri si efectueaza $3$ operatii. La prima operatie nepotul $2$ primeste $100$ de oua de tip $68$ si culoare $0$. La a doua operatie nepotul $2$ vopseste cele $100$ de oua de tipul $68$ pe care le are in culoarea $1$. La a treia operatie Miruna vede ca al $99$-lea cel mai gustos ou de culoare $1$ pentru nepotii din intervalul $[1, 5]$ are tipul $68$.
== include(page="template/taskfooter" task_id="kinder") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
3125