Задать вопрос
15 сентября, 01:19

Вам дан массив A длины n. Вы можете удалить некоторые элементы из него, при этом после всех удалений элементы должны стоять в строго возрастающем порядке. Выведите максимальную возможную длину массива после всех удалений.

+4
Ответы (1)
  1. 15 сентября, 04:04
    0
    {Автор: Рудницкий В. Л.

    Ограничения: Последовательность не может быть длинее NN.

    Откуда: Олимпиада, KZ, 2016.}

    const NN = 10000;

    var a : array [1 ... NN] of integer; i, j, d, N: integer;

    begin

    write ('Введите длину массива: '); readln (N);

    writeln ('Введите массив чисел через пробел:');

    for i : = 1 to N do read (a[i]);

    { Удаляем повторы чисел }

    for i : = 1 to N-1 do

    for j : = i+1 to N do

    if a[i] = a[j] then a[j] : = 0;

    { Создаем последовательность заполняя не нужные числа нулями }

    for i : = 2 to N do if (a[i-1] > a[i]) and (a[i] 0) then a[i] : = 0;

    { Суммируем не нулевые элементы }

    d : = 0; for i : = 1 to N do if a[i] 0 then d : = d + 1;

    writeln ('Максимальная длинна массива после удалений: ', d);

    end.
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Вам дан массив A длины n. Вы можете удалить некоторые элементы из него, при этом после всех удалений элементы должны стоять в строго ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы