{
  "minimum63": 5,
  "decomposition63": [17,17,17,11,1],
  "explanation": "Les denominations sont des entiers strictement positifs, reutilisables sans limite. Pour une solution optimale de montant a dont on retire une piece c, les pieces restantes doivent former une solution optimale de a-c : sinon leur remplacement par une solution plus courte ameliorerait la solution initiale, contradiction. Ainsi D(0)=0 et D(a)=min(1+D(a-c)) pour les pieces c<=a, avec Infinity si aucune solution existe. Les denominations positives permettent le calcul iteratif par montants croissants. Pour 63, 17+17+17+11+1 donne cinq pieces. Trois pieces au plus ne depassent pas 51; quatre pieces impaires ont une somme paire, donc ne peuvent former 63. Le minimum est cinq. La programmation dynamique examine tous les choix, contrairement au glouton qui echoue par exemple pour 15 avec ces denominations (cinq pieces contre trois pieces de 5). Le BFS du verificateur est un design distinct, utilisant les distances dans un graphe de montants. Complexite de la solution : O(n * coins.length) en temps et O(n) en memoire.",
  "uncertainties": ["Les ressources memoire et temps limitent les montants tres grands; aucune garantie de capacite pratique pour tous les entiers surs.", "La validation locale ne constitue pas une promotion ni une verification epistemique du runtime GenOS."],
  "workerArtifact": {"kind":"technical", "files":["solution.cjs","answer.json"], "export":"minCoins(n,coins)"},
  "specialtyAssessment": {"role":"basic_implementation", "hardestSubproblem":"Justifier la sous-structure optimale pour garantir le minimum exact.", "design":"Programmation dynamique iterative; BFS reserve au verificateur independant.", "assumptions":["Montant entier non negatif", "Pieces entieres strictement positives et reutilisables"], "unreachableResult":"Infinity", "emptyCoins":"0 pour n=0, Infinity sinon"}
}
