randuri

Time limit: 0.05s Memory limit: 2MB Input: randuri.in Output: randuri.out

Andrei, un tânăr cu un real talent literar, va recita la următoarea întâlnire a cenaclului literar ultimul său poem. O singură problemă are Andrei: poemul are prea multe rânduri şi este conştient că nimeni nu va avea răbdare să-l asculte până la capăt. Pentru că nu mai are timp să-l rescrie, Andrei s-a hotărât să elimine rânduri din poem. Totuşi, nu va elimina rânduri la întâmplare, ci le va alege astfel încât valoarea artistică a poemului să nu se diminueze. După îndelungi frământări, poetul a descoperit criteriul de eliminare: un rând se poate elimina doar dacă imediat înaintea sa se află un rând (să-l notăm pp), iar imediat după el se află un alt rând (să-l notăm uu) astfel încât rândurile pp şi uu au muzicalitatea strict mai mare decât 66. Nu întrebaţi de ce 66, doar Andrei ştie de ce. Ce înţelege poetul prin muzicalitatea a două rânduri?

Fie rândurile: alinuta estacasa\text{\underline{alin}uta\underline{ e}st\underline{e }a\underline{c}asa} şi alin merge cu noi\text{\underline{alin }m\underline{e}rg\underline{e c}u noi}. Muzicalitatea este egală cu 99, adică exact numărul caracterelor subliniate: alin ee c\text{\underline{alin ee c}}. Aşadar, muzicalitatea reprezintă dimensiunea celei mai lungi succesiuni formată din caractere ce apar în ordinea din succesiune atât în primul rând, cât şi în cel de al doilea, pe poziţii nu neapărat consecutive.

Astfel, rândul care este precedat, respectiv urmat de acestea două poate fi eliminat, pentru că 9>69 > 6. Evident, dacă eliminăm rândul existent între pp şi uu, rândurile pp şi uu devin consecutive.

Cerinţă

Determinaţi numărul maxim de rânduri care pot fi eliminate, respectând criteriul stabilit de poet.

Date de intrare

Fişierul de intrare randuri.in conţine rândurile poemului, câte unul pe linie.

Date de ieşire

Fişierul de ieşire randuri.out va conţine o singură linie pe care va fi scris numărul maxim de rânduri care pot fi eliminate, respectând criteriul stabilit de poet.

Restricţii şi precizări

  • Rândurile sunt formate din maxim 100100 caractere cu codul ASCII<127\text{ASCII} < 127.
  • Nu există rânduri goale.
  • Fişierul de intrare conţine cel mult 100100 de rânduri.
  • Orice linie din fişierul de intrare se termină cu marcajul de sfârşit de linie (newline). Caracterul newline nu va fi va fi considerat ca făcând parte din rând.

Exemplu

randuri.in

Te-nalta pana-n nori
Tot mai sus,
Tot mai departe
Ca siragul de cocori

randuri.out

2

Explicație

Muzicalitatea rândurilor:

Te-nalta pana-n nori\text{\underline{T}e-nal\underline{ta pa}na-n no\underline{r}i}
Tot mai departe\text{\underline{T}o\underline{t} m\underline{a}i\underline{ }de\underline{par}te}

este 77 (vezi caracterele subliniate).

Prin urmare poate fi eliminat rândul

Tot mai sus,\text{Tot mai sus,}

După eliminarea acestui rând, obţinem:

Te-nalta pana-n nori\text{Te-nalta pana-n nori}
Tot mai departe\text{Tot mai departe}
Ca siragul de cocori\text{Ca siragul de cocori}

Muzicalitatea rândurilor:

Te-nalta pana-n nori\text{Te-n\underline{al}ta\underline{ }pana-n\underline{ }n\underline{ori}}
Ca siragude cocori\text{C\underline{a} siragu\underline{l }de\underline{ }coc\underline{ori}}

este 77. Prin urmare, se poate elimina şi rândul:

Tot mai departe\text{Tot mai departe}

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