Dennnhhhickk

Untitled

Sep 20th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. program Main;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. type
  9. time = record
  10. u: integer;
  11. ch: char;
  12. end;
  13.  
  14. const
  15. MAXIN = 100000;
  16.  
  17. var
  18. s: array [1..MAXIN] of string;
  19. all: array [1..MAXIN] of time;
  20. minlong, min, i, n, m, u: integer;
  21.  
  22. function sum(s: string; p :integer): integer;
  23. var
  24. p1, i, pr: integer;
  25. begin
  26. p1 := p;
  27. pr := 0;
  28. while (length(s) > 0) do
  29. begin
  30. p := p1;
  31. for i := 1 to m do
  32. if (all[i].ch = s[1]) then
  33. p := all[i].u;
  34. inc(pr, p);
  35. delete(s, 1, 1);
  36. end;
  37. sum := pr;
  38. end;
  39.  
  40. function find(s: string):integer;
  41. var
  42. i, k: integer;
  43. begin
  44. k := 0;
  45. for i := 1 to length(s) do
  46. if (pos(s[i], s) = i) then inc(k);
  47. find := k;
  48. end;
  49.  
  50. begin
  51. readln(n);
  52.  
  53. for i := 1 to n do
  54. readln(s[i]);
  55.  
  56. readln(m, u);
  57.  
  58. for i := 1 to m do
  59. readln(all[i].ch, all[i].u);
  60.  
  61. for i := 1 to n do
  62. if ((i = 1) or ((find(s[i]) = minlong) and (sum(s[i], u) < min))
  63. or (find(s[i]) < minlong)) then
  64. begin
  65. min := sum(s[i], u);
  66. minlong := find(s[i]);
  67. end;
  68.  
  69. writeln(min);
  70. readln;
  71. readln;
  72. end.
Advertisement
Add Comment
Please, Sign In to add comment