Definim el desordre d’un vector d’aquesta manera:
Feu la funció
millor_desordre(v)
tal que, donat un vector de mida que conté enters (positius i negatius) que no han d’estar necessàriament ordenats, torni un parell de subíndexos tals que de manera que l’intercanvi dels valors d’aquestes dues posicions siguin les que maximitzin el valor de . Si hi ha més d’un parell que maximitzi amb el mateix valor la funció , torneu la més petita, tenint en compte que
si i només si
En cas que no n’hi hagi cap intercanvi que maximitzi el valor de cal tornar .
Per exemple, si , llavors la funció tornarà el vector , ja que , però si intercanviem les posicions i tenim que i per tant tenim que . A més, aquest és l’intercanvi que maximitza el valor d’aquesta funció.
És evident que si fer una funció que calculi us pot ajudar a resoldre el problema.
Un vector de mida que conté enters (positius i negatius) que no han d’estar necessàriament ordenats
El parell de subíndexos tals que que maximitzen . Si no n’hi ha cap, llavors ha de tornar .
Input
1 4 2 3
Output
(1, 3)
Input
1 3 5 7 9
Output
(0, 0)