Dennnhhhickk

Untitled

Sep 20th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. program Main;
  2.  
  3.  
  4. {$APPTYPE CONSOLE}
  5.  
  6.  
  7.  
  8.  
  9.  
  10. uses
  11.  
  12.  
  13. SysUtils;
  14.  
  15.  
  16. const
  17. Maxin=100000;
  18. var
  19. n, i, j, m, u:integer;
  20. min, sum: int64;
  21. s: array [1..MAXIN] of string;
  22. p: array [1..MAXIN] of integer;
  23. ch: char;
  24. mins: string;
  25. bol: boolean;
  26.  
  27. function find(s: string): integer;
  28. var
  29. i, k: integer;
  30. begin
  31. k := 0;
  32. i := 1;
  33. if (s <> '') then
  34. while pos(s[i], s) <> 0 do
  35. begin
  36. if (pos(s[i], s) <> i) then
  37. begin
  38. delete(s, pos(s[i], s), 1);
  39. inc(k);
  40. end
  41. else
  42. inc(i);
  43. end;
  44. //writeln(s);
  45. find := k;
  46. end;
  47.  
  48. begin
  49. bol := true;
  50. readln(n);
  51.  
  52. for i:=1 to n do
  53. readln(s[i]);
  54.  
  55. readln(m, u);
  56.  
  57. for i:=1 to 256 do
  58. p[i]:=u;
  59.  
  60. for i := 1 to m do
  61. begin
  62. readln(ch, u);
  63. p[ord(ch)] := u;
  64. end;
  65.  
  66. for i :=1 to n do
  67. begin
  68. sum := 0;
  69. for j := 1 to length(s[i]) do
  70. sum := sum + p[ord(s[i][j])];
  71. if (find (s[i]) > find(mins)) then
  72. if bol then
  73. begin
  74. min := sum;
  75. mins := s[i];
  76. bol := false;
  77. end
  78. else
  79. if (min > sum) then
  80. begin
  81. min := sum;
  82. mins := s[i];
  83. end;
  84. end;
  85. writeln(min);
  86. readln;
  87. readln;
  88. end.
Advertisement
Add Comment
Please, Sign In to add comment