Informática – Nivel Intermediário – Semana 13

por

Três Índices

Você recebe uma permutação $$p_1, p_2, …, p_n$$. Lembre-se que uma sequência de $$n$$ inteiros é chamada de permutação se ela contém todos os inteiros de $$1$$ até $$n$$ apenas uma vez.

Encontre três índices $$i, j$$ e $$k$$ tal que:

  • $$1 \leq i < j < k \leq n$$;
  • $$p_i <p_j$$ e $$p_j > p_k$$.

Ou diga que não existe tal tripla.

Entrada:

A primeira linha da entrada contém um único inteiro $$t$$, o número de casos de teste.

Na primeira linha de cada caso de teste será dado um inteiro $$n$$, o tamanho da permutação.

A segunda linha de cada caso de teste contém $$n$$ inteiros $$p_1, p_2, …, p_n$$, a permutação.

Saída:

Para cada caso de teste:

  • Se existir uma tripla $$i, j, k$$ imprima $$YES$$ e os índices.
  • Se não existir tal tripla, imprima $$NO$$.

Se existirem várias triplas válidas, imprima qualquer uma.

Restrições:

  • $$1 \leq t \leq 200$$;
  • $$1 \leq n \leq 10^6$$.

Exemplo:

Entrada Saida
3
4
2 1 4 3
6
4 6 1 2 5 3
5
5 3 1 2 4
YES
2 3 4
YES
3 5 6
NO

Para submeter sua solução, use esse link.

Note que nesse link, $$1 \leq n \leq 1000$$, porém, tente codar uma solução para $$1 \leq n \leq 10^6$$.