Fermierul Amooot merge la magazinul de furaje pentru a achiziționa amestecuri de iarbă pentru pășunatul vacilor sale. Vânzătorul Popică, viclean de fel, îi prezintă un șir de oferte; însă, pentru ca Amooot să poată achiziționa hrana, acesta va trebui neapărat să selecteze o subsecvență canonică de oferte!
Spunem că o subsecvență , este canonică dacă , pentru orice , .
De exemplu, în șirul , subsecvențe canonice sunt sau , dar nu și subsecvența .
Cerință
Văzând condițiile impuse de Popică, Amooot își pune două întrebări:
- Care este cea mai lungă subsecvență canonică din ?
- Câte subsecvențe canonice există în ?
Date de intrare
Pe prima linie a fișierului de intrare canonic.in se găsește numărul , numărul cerinței de rezolvat.
Pe a doua linie a fișierului de intrare se găsește numărul , reprezentând numărul elementelor șirului de oferte.
Pe a treia linie a fișierului de intrare se vor găsi numere naturale, care reprezintă șirul de oferte . Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Date de ieșire
Pe prima linie a fișierului de ieșire canonic.out se va afișa răspunsul la cerința din test.
Restricții și precizări
- , pentru orice
- Atenție la limita de memorie!
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 7 | |
| 2 | 8 | |
| 3 | 10 | , , pentru orice |
| 4 | 12 | , Fără restricții suplimentare. |
| 5 | 2 | , , pentru orice |
| 6 | 6 | |
| 7 | 13 | |
| 8 | 17 | , , pentru orice |
| 9 | 25 | , Fără restricții suplimentare. |
Exemplul 1
canonic.in
1
7
3 4 2 10 4 12 3
canonic.out
4
Explicație
Subsecvența canonică de lungime maximă din șir este . Așadar, lungimea maximă este .
Exemplul 2
canonic.in
2
7
3 4 2 10 4 12 3
canonic.out
11
Explicație
Subsecvențele canonice din șir sunt: