From 3acfa79dcddf8b74fc1b359e8ac5169a9fb549a7 Mon Sep 17 00:00:00 2001 From: abraham Date: Wed, 21 Oct 2026 12:07:28 +0200 Subject: [PATCH] EXO 4 - optimisation F5 --- COMPTE_RENDU.md | 4 ++-- banque | Bin 21280 -> 21280 bytes banque.c | 24 ++++++++++++++---------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/COMPTE_RENDU.md b/COMPTE_RENDU.md index 047bd95..029a223 100644 --- a/COMPTE_RENDU.md +++ b/COMPTE_RENDU.md @@ -92,7 +92,7 @@ La complexité de la fonction est de [O(n)] pour - Optimisation de la fonction 4 nom du commit : "fonction 4 : O(n + J)". Emprunte : ff68d260a7a58441 -- Optimisation de la fonction 5 nom du commit : "". Emprunte : ff68d260a7a58441 +- Optimisation de la fonction 5 nom du commit : "EXO 4 - optimisation F5". Emprunte : ff68d260a7a58441 - Optimisation de la fonction 6 nom du commit : "". Emprunte : ff68d260a7a58441 @@ -105,4 +105,4 @@ La complexité de la fonction est de [O(n)] pour - Optimisation de la fonction 10 nom du commit : "fonction 10 : O(L)". Emprunte : ff68d260a7a58441 -Le temps minimal atteint avec les modification est de 1.821 secondes. +Le temps minimal atteint avec les modification est de 1.651 secondes. diff --git a/banque b/banque index 25e045c4c00a4418ff5a7772f55c4897955f0732..fd1798f3be4ee4952e35eb633771cf65eeaa7962 100755 GIT binary patch delta 3134 zcmZ3mjB&v-#t9OP3nogw=L{5L0E58Ef{gl{8(6^{h7FTF8TShYm_m4Pda@*wy5Iz; zD4d=g$fS-%Z6{N_;0Y6m32=JyPp0`I``nrCoR+F(yd}G%D`=PNyE}7>oHwsw=3$nc zAOTT-!xutxKqv->%@^5>xuP6H9YaEcJsRI|FfuTtcy!ySYA`S`cy#Vj`N6=zu-~AR zf#Jmwb_Rz13=9Gco}EWtl>h(#-?w*`GAC{jYSM39t=+pV!r!z!_!>89&ERKQUg(4RNgWzfX6F3WsN}iwcWp?-rGoKU@qR$pRkT9y}f(BN=(Fc~~ARedE)s zJJAlT-$5RvA7pOl`xm(&1L|QWaDYtcfSbSpF~R351IUQi9^In;b_@(V7#Tq382)!P zJmArJ@wJ=}<1G)%Q;z)pA6@wUk9+X@pYmuv!02K7f|-G#M9a53<|u<>=RuFwOO;nU zkNb4qdVP^!-hsh~IY6NKJtKeX?tfnY|G(t<|Np;7r;mz+XK#&)hO6Q2&Jq<7kaH&d z;bL&07GIFdZN1w0r}c{KlG^lZL7`K^#t{joIu_Xm7B zpYdzDs5pR#01%OoHo>FwyGQdei5Dh33=EwInq68P7=0}NmA*g@ZVjK#7!{5ej2sLM z`#?V3-@(Jc@WSaYD4=6hI6$GT;n8})v-2Q-i!ci`C_Q?4733Hge0m)?JdRJECTw1R zy!3-d^FbCL%b%skKzcYlyBiyLK+4a9EYJYOtbs?TiwegJmp>4*H9+bNx_wksJbFc$ zWf&L?5BPRI-`4<29lbRw1t2Y8*BQJB{PX|6M{kKrfk)^27hiZ77(BXtR5ZX!4G(zq zir%i5W?=9DX?mfKtn?Jf1>HU>65T#33Wf(S>-T}E!!|*mz+Vkypxyt~y;Jp-z1M3UGE?oNyDI^0RHh{84>2crA#~@2Id^^9m z8ou@I{O8+wpI@HAr`ub=rJLEM^Ci@;qD!QpF==?fvH2+1izp-`JsJ;xU|?W)@r{dt z!Lji#sL&|g>(Oi4AXN|2WLqr-N^m7A20ooNDjF{eejz6`kJbYoorg=*JvxthbiN10 zqX9UDz2F4d(0TvG!JiQ22B37Q(Om*cm$oKgeg{qz5SkM0r`4Ub-1L$KtF6+i#` z{|BW=iS7^;5yJ!BB`OLYy|!Ia3=A)Np~?+BdTr$)%B#RaAu1gEV9CW+5u`Nf=l}ow z+gur14wMv3Rub3C{wE0v;}?n`^_}luy!`S1zfb4$7Y~1cT+jk8ic>taS-@p;se(u2 z5m0Gucpy5~F~%|0G0rjmu*be;=DEci_)|q*uYYm!$N&GJBFsgF<7M)n|Njx`j$eNA zd2yKl$DjZI{}=sj&cN^mA?ML+JJA9Zx~yFw%JN5vs7E*JJ#z*IkJbYvoc|y2%Y$+( z!(k}x(QBIsQrK%6HQ8E1hH>rW2njiDQws(LhEn5Dk7nC0b5I8Fd|JZm(QW(9oPpuL zXoWcg!;9qq|NkFj<*}H&P{LgsUfAu>t)J?n`z0{KgMU41AIR2S{*CG1>#A8rJQy!{ zbh1`WR+coEob>(wf6vZit+)C6J~4voog5Vfk8WOV^UcMQA&iVyC!dhYWlY~}CauEA zSTs3WCX4a-6t}98?lAH2-6)3kde?{OQqo zy7QYy=XG$2>}q)FwM^OsP#J9btB%vPQ`n>Px=SZBxDv4ZP$K5p&2!MP^MFU|rOI25 zorgR+PrbehDvN(aALf^5@aVj7m|xyuvb~%YW5VPrIYnVaSi^JLR1_r~E$5}T{)=)HOs_mVes3XZ^dBot{#XvKAi^*zr9`v z@?A1-WzXhRrP;ib6F3?+8Qfs3-@?Se@ZjnH{~JJRpa1_4%E1QD|Nm!UWMG)^^8bGq zMg|6hSO5QKFfuS)c=iAP6h;OHh1dW8?_p$MXn6hq{}Vxe}W^${s zyf3Jk6u`*9Fy-a{|2ZJ7k$eKpOibQ<94?0i7#J9G7#SE|yhIoa5^G>&U|@Om|3Aoh zkQPwV2YD)CvZ#r9{RKt_29wwS|LcO27^wZkzyR`Mz?=X7J3z`AAYwll85qvI`Tzea zk{AyY1H+8B|NlEf#e5hT7!;To7+UW9|38_Hfq}t^PoSU4iBF=B*@;h~m&J)sqleXz z&!COXkN7G--svjOIC=6-S9PWj z5|f$S+&CXV%`TW6=w{EDuz8}}dv-?W$&G&coGwZbqg*EM^gGU2FuBoRpA*q8-|278 biD>8l^f%{)x9>si{mF(b!kYsEE-(QA-1R3M delta 3277 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 meilleur) { - meilleur = somme; - *debut = i; - *fin = j; - } + long somme_courante = totaux[0]; + int debut_courant = 0; + + for (int j = 1; j < nb_jours; j++) { + if (somme_courante < 0) { + somme_courante = totaux[j]; + debut_courant = j; + } else { + somme_courante += totaux[j]; + } + if (somme_courante > meilleur) { + meilleur = somme_courante; + *debut = debut_courant; + *fin = j; } } return meilleur;