== include(page="template/taskheader" task_id="lalele") ==
În curtea SEPI am plantat pe un singur rând lalele de 퐶 culori. Vom considera, pentru simplitate, culorile
numerotate de la 1 la 퐶. Dintre lalelele plantate au răsărit doar 푁 şi acum au înflorit. Vom considera lalelele
numerotate de la 1 la 푁, în ordinea în care se află pe rând. Vrem să culegem un buchet în care să existe exact 퐾
culori distincte.
În curtea SEPI am plantat pe un singur rând lalele de $C$ culori. Vom considera, pentru simplitate, culorile numerotate de la 1 la $C$. Dintre lalelele plantate au răsărit doar $N$ şi acum au înflorit. Vom considera lalelele numerotate de la 1 la $N$, în ordinea în care se află pe rând. Vrem să culegem un buchet în care să existe exact $K$ culori distincte.
h2. Cerinţă
Scrieţi un program care, cunoscând $N$, $C$, $K$, precum şi culoarea fiecărei lalele, determină numărul de posibilităţi de a culege un buchet în care să apară exact $K$ culori distincte.
h2. Date de intrare
Fişierul de intrare $lalele.in$ ...
Fişierul de intrare $lalele.in$ conţine pe prima linie numerele naturale $N$ $C$ $K$, cu semnificaţia din enunţ. Pe cea de a doua linie se află $N$ numere naturale cuprinse între 1 şi $C$, $L{~1~}, L{~2~}, ..., L{~N~}$, reprezentând culorile lalelelor care au înflorit, în ordinea în care acestea au fost plantate pe rând. Valorile scrise pe aceeaşi linie sunt separate prin câte un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $lalele.out$ ...
Fişierul de ieşire $lalele.out$ conţine o singură linie pe care este scris numărul de posibilităţi de a culege un buchet în care să apară exact $K$ culori distincte.
h2. Restricţii
h2. Restricţii şi precizări
* $... ≤ ... ≤ ...$
* $2 ≤ N ≤ 500$
* $1 ≤ K ≤ C ≤ 50$
* Două buchete sunt considerate distincte dacă există cel puţin o lalea care a fost culeasă într-un buchet, dar nu a fost culeasă şi în celălalt.
|_. # |_. Punctaj |_. Restricţii |
| 1 | 26 | $2 ≤ N ≤ 25$, $1 ≤ C ≤ 25$|
| 2 | 28 | $26 ≤ N ≤ 60$, $1 ≤ K ≤ 12$, $C ≤ 25$ |
| 3 | 18 | $61 ≤ N ≤ 66$, $13 ≤ K ≤ 16$, $26 ≤ C ≤ 33$ |
| 4 | 28 | Fără restricţii suplimentare |
h2. Exemplu
table(example). |_. lalele.in |_. lalele.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
| 6 4 2
4 1 2 1 1 2
| 31
|
h3. Explicaţie
...
Pe rând există 6 lalele, care au culori cuprinse între 1 şi 4. Trebuie să determinăm toate posibilităţile de a culege un buchet în care apar exact două culori distincte. Posibilităţile sunt:
* $(1, 2), (1, 2, 4), (1, 2, 5), (1, 2, 4, 5), (1, 4), (1, 4, 5), (1, 5)$ (în aceste buchete culorile distincte sunt 1 şi 4);
* $(1, 3), (1, 6), (1, 3, 6)$ (în aceste buchete culorile distincte sunt 2 şi 4);
* $(2, 3), (2, 3, 4), (2, 3, 5), (2, 3, 6), (2, 3, 4, 5), (2, 3, 4, 6), (2, 3, 5, 6), (2, 3, 4, 5, 6), (2, 4, 5, 6), (2, 4, 6), (2, 5, 6), (2, 6), (3, 4), (3, 4, 5), (3, 4, 5, 6), (3, 4, 6), (3, 5), (3, 5, 6), (4, 6), (4, 5, 6), (5, 6)$ (în aceste buchete culorile distincte sunt 1 şi 2)
În total: 31 de posibilităţi
== include(page="template/taskfooter" task_id="lalele") ==