Перебои все элементы массива, а потом через "%/2" проверку сделай. Воаля.
===== PascalABC.NET =====
begin
var n := ReadInteger('n =');
var a := ArrRandom(n, -99, 99);
a.Println;
var i := a.IndexMin;
Println('Минимальный элемент', a[i], 'имеет номер', i + 1)
end.
Господи, зачем так сложно, советую действия со степенями: 512мб переводим в кб, 512 мб = 2^9 мб => 1) 2^9мб * 2^10 = 2^19кб, 2)2^19кб * 2^3 = 2^22 бит.
ответ: 2^22 бит!