Source: https://www.ceremade.dauphine.fr/~cardaliaguet/Opti-Partiel2015Corrige.pdf