Guest User

Untitled

a guest
Feb 19th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.36 KB | None | 0 0
  1. program vodaD;
  2.  
  3. var
  4.   n, m, i, max: integer;
  5.   a: array [1 .. 100000] of integer;
  6.   e: boolean;
  7.  
  8. function jaga(a: integer): integer;
  9. begin
  10.   result := a div 10;
  11. end;
  12.  
  13. function getmax: integer;
  14. var
  15.   i: integer;
  16. begin
  17.   result := 1;
  18.   for i := 2 to n do
  19.     if a[i] > a[result] then
  20.       result := i;
  21. end;
  22.  
  23. procedure Qsort(l, r: longint);
  24. var
  25.   i, j, x, y: longint;
  26. begin
  27.   i := l;
  28.   j := r;
  29.   x := a[l + random(r - l)];
  30.   repeat
  31.     while a[i] > x do
  32.       inc(i);
  33.     while a[j] < x do
  34.       dec(j);
  35.     if i <= j then
  36.     begin
  37.       y := a[i];
  38.       a[i] := a[j];
  39.       a[j] := y;
  40.       inc(i);
  41.       dec(j);
  42.     end;
  43.   until (i > j);
  44.   if l < j then
  45.     Qsort(l, j);
  46.   if i < r then
  47.     Qsort(i, r);
  48. end;
  49.  
  50. procedure goexit;
  51. var
  52.   i, rez: integer;
  53. begin
  54.   rez := 0;
  55.   for i := 1 to n do
  56.     inc(rez, a[i]);
  57.   writeln(rez);
  58.   halt(0);
  59. end;
  60.  
  61. begin
  62.   reset(input, 'input.txt');
  63.   rewrite(output, 'output.txt');
  64.   readln(n, m);
  65.   max := 1;
  66.   for i := 1 to n do
  67.     read(a[i]);
  68.   Qsort(1, n);
  69.   while m > 0 do
  70.   begin
  71.     a[max] := jaga(a[max]);
  72.     dec(m);
  73.     if m = 0 then
  74.       goexit;
  75.     if (max < n) and (jaga(a[max]) <= jaga(a[max + 1])) then
  76.     begin
  77.       max := max + 1;
  78.       for i := 1 to max do
  79.         if a[i] > a[max] then
  80.         begin
  81.           a[i] := jaga(a[i]);
  82.           dec(m);
  83.           if m = 0 then
  84.             goexit;
  85.         end;
  86.  
  87.     end;
  88.   end;
  89.   goexit;
  90.  
  91. end.
Add Comment
Please, Sign In to add comment