Skip to content

Instantly share code, notes, and snippets.

@murilomaeda
Created March 24, 2024 15:33
Show Gist options
  • Save murilomaeda/edbb4f3e091c0e46ff2cee2e0ad53b31 to your computer and use it in GitHub Desktop.
Save murilomaeda/edbb4f3e091c0e46ff2cee2e0ad53b31 to your computer and use it in GitHub Desktop.
//pré calculo o vetor ajustado
for(int i = 1; i <= M; i++)
ajustado[i] = E2[i] - (M - i);
int resp = INF;
for(int i = 1; i <= N; i++)
{
for(int j = M; j >= 1; j--)
{
//posição do i-ésimo termo de E1
//considerando o tempo gasto apagando os elementos de E1 e E2
int atualE1 = E1[i] + (i - 1) + (M - j);
//posição do i-ésimo termo de E2
//considerando o tempo gasto apagando os elementos de E1 e E2
int atualE2 = ajustado[j] - (i - 1);
//Checo se já posso parar de apagar elementos de E2
if(atualE1 >= atualE2)
{
//Se sim, vejo se o tempo gasto nesse caso é menor que a resposta até agora
resp = min(resp,(i - 1) + (M - j));
break;
}
}
}
//considero a possibilidade de só tirar tudo de E1 ou tirar tudo de E2
resp = min(resp,min(N,M));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment