%I #52 Mar 28 2024 04:13:39
%S 0,1,6,31,108,366,926,2286,5733,12905,27316,44676,94545,147031,257637,
%T 435387,643320,1107715,1760092,2563547,3744446,5582657,8089160,
%U 11373419,15575157,21480927,28569028,40893371,53425354,69774260,93548428,119627554
%N a(n) is the smallest nonnegative integer such that the sum of any five ordered terms a(k), k<=n (repetitions allowed), is unique.
%C This is the greedy B_5 sequence.
%H J. Cilleruelo and J Jimenez-Urroz, <a href="https://doi.org/10.1112/S0025579300015758">B_h[g] sequences</a>, Mathematika (47) 2000, pp. 109-115.
%H Melvyn B. Nathanson, <a href="https://arxiv.org/abs/2310.14426">The third positive element in the greedy B_h-set</a>, arXiv:2310.14426 [math.NT], 2023.
%H Melvyn B. Nathanson and Kevin O'Bryant, <a href="https://arxiv.org/abs/2311.14021">The fourth positive element in the greedy B_h-set</a>, arXiv:2311.14021 [math.NT], 2023.
%H Kevin O'Bryant, <a href="https://doi.org/10.37236/32">A complete annotated bibliography of work related to Sidon sequences</a>, Electron. J. Combin., DS11, Dynamic Surveys (2004), 39 pp.
%e a(4) != 20 because 20+1+1+1+1 = 6+6+6+6+0.
%o (Python)
%o def GreedyBh(h, seed, stopat):
%o A = [set() for _ in range(h+1)]
%o A[1] = set(seed) # A[i] will hold the i-fold sumset
%o for j in range(2,h+1): # {2,...,h}
%o for x in A[1]:
%o A[j].update([x+y for y in A[j-1]])
%o w = max(A[1])+1
%o while w <= stopat:
%o wgood = True
%o for k in range(1,h):
%o if wgood:
%o for j in range(k+1,h+1):
%o if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):
%o wgood = False
%o if wgood:
%o A[1].add(w)
%o for k in range(2,h+1): # update A[k]
%o for j in range(1,k):
%o A[k].update([(k-j)*w + x for x in A[j]])
%o w += 1
%o return A[1]
%o GreedyBh(5,[0],10000)
%o (Python)
%o from itertools import count, islice, combinations_with_replacement
%o def A365301_gen(): # generator of terms
%o aset, alist = set(), []
%o for k in count(0):
%o bset = set()
%o for d in combinations_with_replacement(alist+[k],4):
%o if (m:=sum(d)+k) in aset:
%o break
%o bset.add(m)
%o else:
%o yield k
%o alist.append(k)
%o aset |= bset
%o A365301_list = list(islice(A365301_gen(),10)) # _Chai Wah Wu_, Sep 01 2023
%Y Row 5 of A365515.
%Y Cf. A025582, A051912, A365300, A365302, A365303, A365304, A365305.
%K nonn,more
%O 1,3
%A _Kevin O'Bryant_, Aug 31 2023
%E a(18)-a(28) from _Chai Wah Wu_, Sep 01 2023
%E a(29)-a(30) from _Chai Wah Wu_, Sep 10 2023
%E a(31)-a(32) from _Chai Wah Wu_, Mar 02 2024