forked from menault/2026_TD3_DEV51_Qualite_Algo
F4 : solde par jour en un seul parcours (O(n × J) → O(n + J))
Même correction que F3 : au lieu de reparcourir les 30 000 transactions pour chacun des 1 000 jours (30 millions de tests), chaque montant est ajouté directement au total de son jour. Temps (-O2) : 0,087 s → 0,073 s. Empreinte inchangée (ff68d260a7a58441). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -116,12 +116,10 @@ void total_par_client(const Transaction *t, int n, long *totaux)
|
||||
/* F4 : solde total de chaque jour */
|
||||
void total_par_jour(const Transaction *t, int n, long *totaux)
|
||||
{
|
||||
for (int j = 0; j < NB_JOURS; j++) {
|
||||
for (int j = 0; j < NB_JOURS; j++)
|
||||
totaux[j] = 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
if (t[i].jour == j)
|
||||
totaux[j] += t[i].montant;
|
||||
}
|
||||
for (int i = 0; i < n; i++) /* un seul parcours, comme pour F3 */
|
||||
totaux[t[i].jour] += t[i].montant;
|
||||
}
|
||||
|
||||
/* F5 : période de jours consécutifs dont la somme des soldes est maximale */
|
||||
|
||||
Reference in New Issue
Block a user