Solução Informática Intermediário – Semana 53 – Problema 2

por

Solução por Sofhia Souza

Se pararmos para analisar, veremos que não faz sentido retirarmos um valor $$x_i$$ que está entre outros dois valores, afinal, se fizermos isso, a diferença entre $$x_{i-1}$$ e $$x_{i+1}$$ será maior do que a diferença que existia entre $$x_i$$ e $$x_{i-1}$$ e entre $$x_i$$ e $$x_{i+1}$$, pois o vetor é crescente. Logo, é possível enxergar que devemos retirar os valores somente das pontas, de maneira que o maior valor seja o menor possível. Para fazermos isso, nós primeiro calculamos o vetor dos valores das diferenças (afinal, são esses os valores que interessam), e depois percorremos esse vetor, calculando o maior valor de todos os intervalos possíveis (se meu intervalo é da posição $$i$$ até a posição $$j$$, significa que retirei todos os $$i-1$$ primeiros valores e todos os $$n-j$$ valores seguintes, sendo $$(i-1 + n-j) = k$$).

Código para melhor entendimento:

https://gist.github.com/sofhiasouza/542ab62cb4bad0767be3c3f4ff71e7a2

Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *