Aller au contenu

Pointage 1

Le cadre

Un musée aimerait analyser sa fréquentation maximale, pour cela chaque personne reçoit un ticket numéroté, qui est pointé à l'entrée et à la sortie. Le numéro est enregistré dans une liste, positivement à l'entrée, négativement à la sortie.

Par exemple, la liste [+2, +5, -2, +8, +1, -1, -5, -8] signifie :

  • Au départ, le musée est vide ; 0 personne présente.
  • Le 2 entre ; 1 personne présente
  • Le 5 entre ; 2 personnes présentes
  • Le 2 sort ; 1 personne présente
  • Le 8 entre ; 2 personnes présentes
  • Le 1 entre ; 3 personnes présentes
  • Le 1 sort ; 2 personnes présentes
  • Le 5 sort ; 1 personne présente
  • Le 8 sort ; 0 personne présente
  • à la fin, le musée est vide.

Exercice

Coder une fonction fréquentation_max

  • qui prend un tableau pointage de taille \(2n\) et qui contient \(n\) entiers strictement positifs distincts, ainsi que leurs opposés.
    • un entier positif \(+k\) signifie qu'une personne avec le ticket \(k\) entre.
    • un entier négatif \(-k\) signifie qu'une personne avec le ticket \(k\) sort.
  • et qui renvoie le nombre maximal de personnes présentes à la fois.
###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : /
.128013x59/fq78r;nb _o=ylaepcwgu)vd46F13kméhtsP(S0+2-i:050C0u0M0t0V0s0N0n0w0s0t0N0N0q010M0V0v010406050N0z0J0J0t0j0r040Q0p0s0z0;0p0l050e0{0}0 110_0v04051h1a1k0e1h0_0C0V0B0)0+0-0/0L0V0y0L0s1y0L0M0@050!0m0s0u1t0,0.011x1z1B1z0M1H1J1F0M0j1i0M0L1L1v010f0$0u0l0t0J0u010)140N0v0t0l0/0T1F1?1^1$1N1)1J1,1.0@0a0n0O0j0p0v0p0N0V170l0n0Y1;0j0j0u0w2f1a1}0l1i0e1!2s1X1Z1Y1G0C1 0/1B0l1+2c1F1q1s0*1M2C0V2E0l0p2I1F0v2l1i2q2s2W0`1@2g2K1%2P0j0~0s0@0n0G2p2!0^2Z1~2$1N2(2*2,0T2/1^2;2q2B012_0t2+040n0H2}2r0_302@0/33350n0D392 2!313f2,0c3j3b3l3d320p2)342,0E3q2=2#1u2^3v2`360h3A3c3D3e3F3x360i3J3s3L3u3w3g0d3R2?3T3n040G0R3Y3C2L3U3G0G2.1b2:3r3Z3+3#0G2|3:2~3=3*2%3N350G383{3a3B3m400@0G3i442s2T0u2s2I2v0C1Z2A3t0w2Q1/1i4h1j2U3B2X2:054n0Y2V3S3+0I0@0Y0f3j463t0x2,4H3K3@0f0@0f0j0K0g0z1+0!2f0o0~0b4M4B1%0?040P4$3?2%0@2b2N0!0y0u4,3~1N4)0A0W3q0n4 0n4I3!0@0u0f0f2m0;4G4c514N1%0p0@0q3j5c4%1N0J0V0@3(4c06505j4-2^5456580V0f4Z0t4#5b523+5f045h5E5d5l5n045p2W5r505F1%4D040f3v5i5T5v040l0|0K295Z5L0/0p4K042N5+5k3e4/0p4;0t4?4^314)4}5q5s5s5!0/5V5z5=5u5@5$5(5*5K5?015H020y0M0k684_0/5m5o5}3t5 4~626v64325w572n676e696g0@0S5J2W5t6n016p3$6u6v635,01665a6J6x0l6z5y5A4!6m316h0s6k6%3t6Y04556A596r3T6t616Q6`6X6Z6B6#5C6,3T5H6I2:6K3m6}6=6_6w6S5V0u0%4@4c6x6^5Q6`6R6f6.6:6!715G0@0U742~763t6N3/7k7l4 6x5V1M0u0j0M7r4.6/5x6~7K1N6h6j0k7v2r7x3T6N5P757W3+0w0G0@030n0F0t0w0z6*0t795Q5R7D7c0@7G7I7P6a7p7O6D6L737U366x7Y5i7#1%7%7)7+7-7/4X6C7B7^6f5V2l0M0z0j1981777M6;5z5B5D5Q1a4y4f1l4t0e4r2t4j1a2w8I0t1I8B8E1r2;8E0Z0#0%04.