OFFSET
1,1
MATHEMATICA
Clear[generateSequenceFast];
s = Range[200]*(1 + Range[200])/2 (* User: put your sequence s here.*)
generateSequenceFast[seq_] := Module[{seqLen = Length[seq], used, a, b, n = 1, pa = 1, pb = 1, bTarget}, used = ConstantArray[False, seqLen];
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]
First[u] (* A392660*)
Last[u] (* A392661*)
(* Peter J. C. Moses, Dec 23 2025 *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Clark Kimberling, Feb 22 2026
STATUS
approved
