Advertisement
osipyonok

My pascal test

May 14th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.95 KB | None | 0 0
  1. program ideone;
  2.  
  3. var
  4.     dem,i,t,b,c,n,tmp,p:integer;
  5.     a:array[1..100000] of integer;
  6.  
  7. procedure qsort(l,r:integer);
  8.     var i,j,tg,x:integer;
  9. begin
  10.     if l<r then begin
  11.         i:=l;
  12.         j:=r;
  13.         x:=a[(i+j) div 2];
  14.         repeat
  15.             while a[i]<x do
  16.                 inc(i);
  17.             while a[j]>x do
  18.                 dec(j);
  19.             if i<=j then begin
  20.                 tg:=a[i];
  21.                 a[i]:=a[j];
  22.                 a[j]:=tg;
  23.                 inc(i);
  24.                 dec(j);
  25.             end;
  26.         until i>j;
  27.         qsort(l,j);
  28.         qsort(i,r);
  29.     end;
  30. end;
  31.  
  32.  
  33. function max(a,b:integer):integer;
  34. begin
  35.    if a>b then max:=a else max:= b;
  36. end;
  37.  
  38. procedure random_shuffle(l,r:integer);
  39. begin
  40.     for i:=1 to n do begin
  41.         p:=max(l,random(n));
  42.         tmp:=a[p];
  43.         a[p]:=a[i];
  44.         a[i]:=tmp;
  45.     end;
  46. end;
  47.  
  48. begin
  49.     randomize;
  50.     readln(t,b,c);
  51.     readln(n);
  52.     for i:=1 to n do
  53.         read(a[i]);
  54.     random_shuffle(1,n);
  55.     qsort(1,n);
  56.     for i:=1 to n do begin
  57.         if (a[i]<=b) or (a[i]>=c) then inc(dem);
  58.     end;
  59.     write(n-dem);
  60. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement