Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Main;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- const
- Maxin=100000;
- var
- n, i, j, m, u:integer;
- min, sum: int64;
- s: array [1..MAXIN] of string;
- p: array [1..MAXIN] of integer;
- ch: char;
- mins: string;
- bol: boolean;
- function find(s: string): integer;
- var
- i, k: integer;
- begin
- k := 0;
- i := 1;
- if (s <> '') then
- while pos(s[i], s) <> 0 do
- begin
- if (pos(s[i], s) <> i) then
- begin
- delete(s, pos(s[i], s), 1);
- inc(k);
- end
- else
- inc(i);
- end;
- //writeln(s);
- find := k;
- end;
- begin
- bol := true;
- readln(n);
- for i:=1 to n do
- readln(s[i]);
- readln(m, u);
- for i:=1 to 256 do
- p[i]:=u;
- for i := 1 to m do
- begin
- readln(ch, u);
- p[ord(ch)] := u;
- end;
- for i :=1 to n do
- begin
- sum := 0;
- for j := 1 to length(s[i]) do
- sum := sum + p[ord(s[i][j])];
- if (find (s[i]) > find(mins)) then
- if bol then
- begin
- min := sum;
- mins := s[i];
- bol := false;
- end
- else
- if (min > sum) then
- begin
- min := sum;
- mins := s[i];
- end;
- end;
- writeln(min);
- readln;
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment