Buongiorno, sto provando a risolvere il problema Chess tournament, ma non riesco ad ottenere il massimo del punteggio a causa del Timeout imposto dal sistema. Infatti, solo 11/16 della subtask 4 sono stati completati con successo. Sfortunatamente, però 5 di questi (018 / 019 / 025 / 026 / 027) continuano a restituire “Execution timed out” a causa di un tempo di esecuzione compreso tra i 1.599s ed i 1.603s. Potreste aiutarmi? Vi ringrazio in anticipo. Qui di seguito allego il codice:
La tua soluzione e’ O(N^2), si puo’ fare di meglio.
Qui sotto degli hints
abs(x) = max(x,-x)
Se i > j, |i-j| + |A_i-A_j| = i-j+max(A_i-A_j,A_j-A_i) = max((A_i+i)-(A_j+j),(A_j-j)-(A_i-i))