pietricele

Time limit: 1s Memory limit: 128MB Input: pietricele.in Output: pietricele.out

Costel deține un șir pp de nn pietricele prețioase numerotate de la 11 la nn. Deoarece Costel este un om superstițios, el colecționează pietricele doar de anumite tipuri. Tipul unei pietricele este reprezentat de o literă mică a alfabetului englez, iar fiecare tip în parte are o anumită valoare.

Într-o zi, Costel s-a decis să distribuie șirul de nn pietricele pe kk rafturi astfel încât fiecare raft să conțină câte o subsecvență nevidă de pietricele din șirul original, iar la final, fiecare pietricică să se afle pe exact un raft. Definim valoarea unui raft ca fiind suma valorilor pietricelelor de pe acel raft.

Cerintă

Fiind dat șirul de nn pietricele, să se distribuie pietricelele din șir în kk subsecvențe disjuncte astfel încât:

  • Cea mai mare valoare a unui raft să fie maximă.
  • Cea mai mică valoare a unui raft să fie maximă.

Date de intrare

Fișierul de intrare pietricele.in va conține pe prima linie numerele naturale cc, nn și kk separate prin câte un spațiu, unde cc reprezintă cerința care trebuie rezolvată, nn reprezintă numărul de pietricele din șir, iar kk reprezintă numărul de rafturi pe care vor fi distribuite pietricelele. Cea de-a doua linie a fișierul va conține nn litere mici ale alfabetului englez, reprezentând tipurile pietricelelor din șirul deținut de Costel. Cea de-a treia linie conține 2626 de numere separate prin câte un spațiu, reprezentând valoarea fiecărui tip de pietricică de la a la z.

Date de ieșire

Fișierul de ieșire pietricele.out conține răspunsul pentru cerința dată.

Restricții

  • c{1,2}c \in \{1, 2\}
  • 11 kk nn 200 000200\ 000
  • valorile tipurilor de pietricele sunt cuprinse în intervalul [11, 21092 \cdot 10^9].
  • subsecvenţă a șirului pp este o succesiune de pietricele aflate pe poziții consecutive: pi,pi+1,,pj, 1ijnp_i, p_{i+1}, \dots, p_j,\ 1 \leq i \leq j \leq n.
  • două subsecvențe sunt disjuncte dacă nu au nicio pietricică în comun.
  • se recomandă folosirea tipului de date long long
# Punctaj Restricții
1 10 c=1c=1, pentru fiecare pietricică din șir valoare[pi]valoare[pi+1]\mathit{valoare}[p_i] \le \mathit{valoare}[p_{i + 1}]
2 20 c=1c = 1, fără restricții suplimentare
3 10 c=2c=2, n5000n \le 5000 și k=3k=3
4 10 c=2c=2, 1kn1001 \le k \le n \le 100
5 10 c=2c=2 și valorile tuturor tipurilor de pietricele sunt egale.
6 40 fără restricții suplimentare

Exemple

pietricele.in

1 12 3
abbaacabcbaa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

pietricele.out

18

pietricele.in

2 12 3
aabaacabcbaa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

pietricele.out

6

Explicații

Cea mai mare valoare pe care o poate avea un raft este 1818 și se obține prin următoarea distribuire pe rafturi: a, bbaacabcba, a, fiecare cu valorile 11, 1818, respectiv 11.
Șirul se distribuie pe 33 rafturi astfel: aabaa, cab, cbaa, fiecare cu valorile 66, 66 respectiv 77. Astfel, 66 este cea mai mică valoare a unui raft, care pentru acest exemplu este maximul posibil.

Log in or sign up to be able to send submissions!