Поделитесь своими знаниями, ответьте на вопрос:
Дан одномерный массив натуральных чисел, состоящий из N элементов (const N=10 Найти максимальную сумму элементов не кратную 3. В сумму может войти любое количество элементов. Если такую сумму вычислить нельзя, то вывести ‘NO’ Пример работы программы: Ввод: 1 3 3 3 2 3 3 3 3 3 Вывод: 26
const
m: array[1..8, 1..8] of byte =
((0, 1, 1, 1, 0, 0, 0, 0),
(1, 0, 0, 0, 1, 0, 1, 0),
(1, 0, 0, 0, 1, 1, 0, 0),
(1, 0, 0, 0, 0, 1, 1, 0),
(0, 1, 1, 0, 0, 0, 0, 1),
(0, 0, 1, 1, 0, 0, 0, 1),
(0, 1, 0, 1, 0, 0, 0, 1),
(0, 0, 0, 0, 1, 1, 1, 0));
var
n, i, j, k: integer;
a: array[0..100, 1..8] of int64;
begin
read(n);
a[0, 1] := 1;
for k := 1 to n do
for i := 1 to 8 do
for j := 1 to 8 do
if m[i, j] = 1 then
a[k, i] := a[k, i] + a[k - 1, j];
write(a[n, 8]);
end.