Dany jest alfabet
złożony z
początkowych liter alfabetu angielskiego.
Każda litera w tym alfabecie ma określoną wagę, która jest dodatnią liczbą całkowitą.
Wagą słowa zbudowanego z liter alfabetu
nazywamy sumę wag wszystkich jego liter.
Językiem nad alfabetem
nazywamy dowolny skończony zbiór różnych słów utworzonych z liter tego alfabetu.
Wagą języka nazywamy sumę wag wszystkich jego słów.
Mówimy że język jest bezprefiksowy, gdy żadne jego słowo nie jest prefiksem (początkiem) jego innego słowa.
Chcemy ustalić, jaka może być najmniejsza waga
-elementowego, bezprefiksowego języka nad alfabetem
.
Załóżmy, że
, waga litery
—
oraz waga litery
—
.
Wtedy: waga słowa
—
.
.
Waga języka
—
.
Język
nie jest bezprefiksowy, ponieważ jego słowo
jest prefiksem słowa
.
Najlżejszym trzyelementowym bezprefiksowym językiem nad alfabetem
, o określonych powyżej wagach liter, jest
; jego waga wynosi
.
Napisz program, który:
oraz
, a następnie wagi wszystkich
liter alfabetu
;
-elementowego języka nad alfabetem
;
W pierwszym wierszu standardowego wejścia znajdują się dwie dodatnie liczby całkowite
i
oddzielone pojedynczym odstępem
.
Są to odpowiednio: liczba słów języka i liczba liter alfabetu.
Drugi wiersz zawiera
dodatnich liczb całkowitych nie większych niż
,
oddzielonych pojedynczymi odstępami —
-ta liczba jest wagą
-tej litery.
W pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien wypisać jedną liczbę całkowitą —
wagę najlżejszego, bezprefiksowego,
-elementowego języka nad alfabetem
.
Dla danych wejściowych:
3 2 2 5
poprawną odpowiedzią jest:
16
Autor zadania: Wojciech Rytter.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.