code 36020;
procedure INI(N,M,S);
value N,M;integer N,M;
integer array S;
comment INI DELIVERS (MONOTONE) THE ROUNDED VALUES
OF THE ARGUMENTS,WHERE THE CHEBYSHEV POLYNOMIAL
OF DEGREE N(TRANSFORMED TO THE INTERVAL [0,M],M>=N)
ATTAINS ITS MAXIMUM VALUES,
IN INTEGER ARRAY S[0:N];
begin integer I,J,K,L;real PIN2;
PIN2:=ARCTAN(1)*2/N;
K:=0;L:=N-1;J:=S[0]:=0;S[N]:=M;
for K:=K+1 while K < L do
begin I:=SIN(K*PIN2)**2*M;
J:=S[K]:=if I<=J"THEN"J+1else I;
S[L]:=M-J;L:=L-1
end K;
if L*2=N"THEN"S[L]:=M/2;
end INI;
eop