OFFSET
1,1
MATHEMATICA
generateSequenceFast[seq_] := Module[{seqLen = Length[seq], used, a, b, n = 1, pa = 1, pb = 1, bTarget}, used = ConstantArray[False, seqLen];
s = Range[200]*(1 + Range[200])/2; (* User: put your sequence s here. *)
a = ConstantArray[0, seqLen];
b = a; a[[1]] = seq[[1]]; used[[1]] = True;
While[n <= seqLen, bTarget = a[[n]] + seq[[n]];
While[pb <= seqLen && (used[[pb]] || seq[[pb]] < bTarget), pb++];
If[pb > seqLen, Break[]];
b[[n]] = seq[[pb]]; used[[pb]] = True; pa = Max[pa, 2];
While[pa <= seqLen && used[[pa]], pa++];
If[pa > seqLen, Break[]]; a[[n + 1]] = seq[[pa]]; used[[pa]] = True; n++];
{Take[a, n], Take[b, n - 1]}];
u = generateSequenceFast[s]
s1 = First[u] (* A392660 *)
s2 = Last[u] (* A392661 *)
w = Sort[Join[s1, s2]]
Flatten[Flatten[Position[w, #]] & /@s1] (* A392662 *)
Flatten[Flatten[Position[w, #]] & /@s2] (* A392663 *)
(* Peter J. C. Moses, Dec 23 2025 *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Clark Kimberling, Feb 23 2026
STATUS
approved
