E542. Le temps des cerises
2010 cerises sont réparties dans un certain nombre de paniers.
1) on choisit le ou les paniers qu'on veut garder, on retire les autres avec les cerises qu'ils contiennent ;
2) on retire des paniers conservés, quand il y en a plusieurs, autant de cerises que nécessaire pour que chacun de ces paniers contienne le même nombre de cerises.
Le but de ces choix est de maximiser en fin d'opération le nombre total de cerises dans les paniers restants.
Si l'on a 2010 cerises au départ, quel est le plus grand nombre total qui peut être obtenu par le meilleur choix, quelle que soit la répartition initiale des 2010 cerises ?
Solution proposée par Patrick Gordon
Soit n le nombre de paniers. Classons en ordre décroissant (non strict en général) les nombres xk de cerises contenues dans chaque panier :
x1 ≥ x2 ≥ … ≥ xn (avec x1 + x2 + … + xn = 2010)
Le maximum obtenu, pour la configuration x1 ≥ x2 ≥ … ≥ xn ainsi donnée, ne peut être que l'un des nombres kxk. Il est donc le Max(k) (kxk).
Mais il nous faut calculer le minimum de ce maximum pour toutes les configurations possibles. L'intuition suggère que ce minimum est obtenu quand tous les kxk sont égaux.
Montrons-le.
Naturellement, ce n'est en général pas possible si les xk sont entiers, mais supposons-les provisoirement réels positifs quelconques.
Supposons donc :
(1) x1 = 2x2 … = nxn = M.
Si l'on ajoute à xi (i quelconque = 1, 2… n et les xk provisoirement non entiers) et que l'on retranche à un autre xk, soit xj (il le faut car la somme des xk est donnée = 2010), ixi
augmente de i et peu importe en principe que jxj diminue de j, puisque ixi était déjà égal au maximum M (c'est là qu'intervient l'hypothèse (1)) et que par conséquent ce maximum augmente.
En principe seulement car, en toute rigueur, il faut traiter du cas où cette opération changerait l'ordre x1 ≥ x2 ≥ … ≥ xn. Cette question ne se pose pas car on peut toujours choisir de manière qu'il n'en soit rien.
Nous avons ainsi montré que, dans le cas où les xk sont réels positifs quelconques (non nécessairement entiers) et de somme 2010, le minimum du maximum pour toutes les configurations possibles est obtenu quand tous les kxk sont égaux (relation (1)).
Reste à revenir au cas où les xk sont entiers de somme 2010 et à voir ce que devient dans ce cas la relation (1).
Une idée empirique qui vient à l'esprit pour rester proche de (1), c’est-à-dire pour avoir des xk
dans des rapports à M proches de 1 2 3… tout en restant entiers, est :
de partir d'une valeur d'essai M,
de définir :
x1 = M; x2 = ENT(M/2)… xk = ENT(M/k)…
de continuer jusqu'à n = M (valeur à partir de laquelle x1 + x2 + … + xn stagne car les xk ainsi définis sont nuls à partir de M+1)
et de jouer sur M pour que la somme x1 + x2 + … + xn atteigne ou dépasse 2010.
Montrons que la configuration ainsi définie assure que le maximum qu'elle fournit est le minimum possible.
Notons tout d'abord que le maximum M est bien atteint. Il l'est, en effet, non seulement pour k=1 mais encore pour tout k diviseur de M.
Montrons ensuite que l'on ne peut pas obtenir une valeur du maximum inférieure à M. On pourrait certes songer à diminuer tout ou partie des xk qui donnent le maximum (ceux pour lesquels k est diviseur de M), mais il faudrait en augmenter d'autres pour que la somme des xk
reste constante.
Si l'on augmente un xk pour lequel k est diviseur de M, on augmente évidemment M.
Pour un xk pour lequel k n'est pas diviseur de M, on a M = kq + r (où r est le reste, avec r < k).
On a donc xk = ENT (M/k) = q et donc k(xk + 1) = kq + k, qui est > M. M augmente donc.
CQFD
Application à notre problème.
Au moyen d'un tableur, on "amorce" avec une valeur de M et l'on calcule x1 = M; x2 = ENT(M/2)… xk = ENT(M/k), etc. en "jouant sur M" jusqu'à ce que la somme x1 + x2 + … + xn dépasse 2010.
Avec M = 335, xk devient nul pour k = 336 et la somme x1 + x2 + … + xn s'arrête à 1996.
Avec M = 336, xk devient nul pour k = 337 et la somme x1 + x2 + … + xn s'arrête à 2016.
La réponse est donc 336.