Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program ideone;
- var
- dem,i,t,b,c,n,tmp,p:integer;
- a:array[1..100000] of integer;
- procedure qsort(l,r:integer);
- var i,j,tg,x:integer;
- begin
- if l<r then begin
- i:=l;
- j:=r;
- x:=a[(i+j) div 2];
- repeat
- while a[i]<x do
- inc(i);
- while a[j]>x do
- dec(j);
- if i<=j then begin
- tg:=a[i];
- a[i]:=a[j];
- a[j]:=tg;
- inc(i);
- dec(j);
- end;
- until i>j;
- qsort(l,j);
- qsort(i,r);
- end;
- end;
- function max(a,b:integer):integer;
- begin
- if a>b then max:=a else max:= b;
- end;
- procedure random_shuffle(l,r:integer);
- begin
- for i:=1 to n do begin
- p:=max(l,random(n));
- tmp:=a[p];
- a[p]:=a[i];
- a[i]:=tmp;
- end;
- end;
- begin
- randomize;
- readln(t,b,c);
- readln(n);
- for i:=1 to n do
- read(a[i]);
- random_shuffle(1,n);
- qsort(1,n);
- for i:=1 to n do begin
- if (a[i]<=b) or (a[i]>=c) then inc(dem);
- end;
- write(n-dem);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement