nondecreasing

Time limit: 0.04s Memory limit: 256MB Input: nondecreasing.in Output: nondecreasing.out

Se dă un șir de nn litere mici, în care litera a are asociată valoarea 11, litera b valoarea 22, \dots, litera z valoarea 2626. Se pot efectua oricâte operații de genul: modifică o literă c1c_1 în litera c2c_2 cu un cost c1+c2c_1+c_2.

Cerință

Să se determine costul total minim al unor operații astfel încât șirul să devină crescător.

Date de intrare

Fișierul de intrare nondecreasing.in va conține pe prima linie șirul de litere mici, fără spații.

Date de ieșire

Fișierul de ieșire nondecreasing.out va conține un singur număr natural ce reprezintă costul total minim al tuturor operațiilor care conduc la formarea unui șir crescător.

Restricții și precizări

  • Lungimea șirului este cuprinsă între 33 și 50 00050 \ 000.

Exemplu

nondecreasing.in

dbca

nondecreasing.out

9

Explicație

Modifică d în a cu un cost d+a=4+1=5d+a=4+1=5, apoi modifică ultimul a în c cu un cost a+c=1+3=4a+c=1+3=4. Se obține șirul crescător abcc cu un cost total egal cu 5+4=95+4=9.

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