apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

olimp Informātikas olimpiādes 1 sek.


 Uzdevums

Dota virkne, kas satur latīņu alfabēta lielos burtus un simbolus '?' (jautājuma zīmes). Katra jautājuma zīme ir jāaizstāj ar kādu no lielajiem latīņu alfabēta burtiem. Iegūtajai virknei varam izrēķināt tās vērtību jeb punktu skaitu šādi:

  • par katru fragmentu “LIO”, ko var atrast šajā virknē, jūs saņemat X punktus;
  • par katru fragmentu “BOI”, ko var atrast šajā virknē, jūs saņemat Y punktus;
  • par katru fragmentu “IOI”, ko var atrast šajā virknē, jūs saņemat Z punktus.
Piemēram, virknē “BOLIOIOIDI” var atrast vienu fragmentu “LIO” un divus fragmentus “IOI” (fragmenti var arī pārklāties).

Uzrakstiet programmu, kas dotai virknei un X, Y, Z vērtībām aprēķina, kāda ir lielākā iespējamā virknes, kurā katra jautājuma zīme aizstāta ar kādu no lielajiem latīņu alfabēta burtiem, vērtība!

 
 Ievaddati

Teksta datnes olimp.dat pirmajā rindā doti četri naturāli skaitļi N, X, Y, Z, kas atdalīti ar tukšumzīmi. Neviens no šiem skaitļiem nepārsniedz 50 000.

Datnes otrajā rindā dota virkne, kas satur tieši N simbolus.

 
 Izvaddati

Teksta datnes olimp.rez vienīgajā rindā jāizvada viens vesels skaitlis - lielākais iespējamais punktu skaits, ko var saņemt, aizvietojot virknē esošās jautājuma zīmes ar lielajiem latīņu alfabēta burtiem.

 
 Piemērs

olimp.datolimp.rez
10 2 3 5
BOLIOIOIDI
12
  
olimp.datolimp.rez
10 1 7 3
BO?IO?OI??
17
Jāveido virkne BOIIOBOIOI.
  
olimp.datolimp.rez
4 2 4 3
????
5
Jāveido virkne LIOI.

 
 Atsauces
Uzdevums izmantots Latvijas 22. informātikas olimpiādē 2009. gadā.

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS