Vamos começar com a função sum. Nós realmente queremos torná-lo um pouco mais generalizado - faça somar todos os argumentos para que possamos nos livrar de alguns loops fazendo algo como reduce func array
.
# Since you are using bash, let's use declare to make things easier.
# Don't use those evil 'function foo' or 'function foo()' stuffs -- obsolete bourne thing.
sum(){ declare -i acc; for i; do acc+=i; done; echo $acc; }
O resto é muito fácil.
MAXCOUNT=100 num=()
# Let's use the less evil native 0-based indices.
for ((i=0; i<MAXCOUNT; i++)); do nums+=($RANDOM); done
# https://gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion
# set f to the sum of the 20 elements of nums starting from elem 0
f=$(sum "${nums[@]:0:20}"); echo f20=$f
# set l to the sum of the LAST 20 elems of nums, mind the space
l=$(sum "${nums[@]: -20}"); echo l20=$l
if ((f > l)); then echo f20g; else echo l20g; fi