Задать вопрос
19 октября, 21:38

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

+5
Ответы (1)
  1. 20 октября, 01:29
    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. Вы можете удалить некоторые элементы из него, при этом после всех удалений элементы должны стоять в строго ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы