Ă Madagascar, le prix standard dâun ticket de bus est de 600 Ar par personne.
Lorsquâun groupe paie collectivement, le receveur (collecteur) gĂšre la monnaie. Il peut arriver quâil arnaque les passagers, ou au contraire se fasse avoir si les passagers trichent sur la monnaie.
Trois passagers paient ensemble avec un billet de 2000 Ar. Le receveur demande 300 Ar de plus, puis leur rend 500 Ar.
Dans dâautres cas, câest le receveur qui se fait avoir : les passagers donnent 100 Ar de plus, et rĂ©clament 500 Ar de retour.
Ătant donnĂ© :
extra
),rendu
),Déterminer le profit illégal (positif ou négatif).
p
b
<billet_1>
<billet_2>
...
<billet_b>
e
r
p
: nombre de passagers (1 †p †100)b
: nombre de billets donnésbillet_i
: valeur du iÚme billet (100 †billet †20000)e
: montant additionnel donné (extra)r
: monnaie rendue par le receveur0
: si la transaction est juste> 0
: si le receveur a volĂ© de lâargent< 0
: si les passagers ont payé moins que prévuLe problÚme revient à calculer un profit (ou une perte) pour le receveur.
600 Ă p
somme(billets) + extra
rendu
somme(billets) + extra - rendu
profit = (somme(billets) + extra - rendu) - (600 Ă p)
1
1
1000
100
500
0
âïž Le receveur a gardĂ© exactement 600 Ar â transaction juste.
4
3
5000
1000
500
100
500
3700
âïž Le receveur a gardĂ© 3700 Ar de trop.
def calc_profit(p, bills, extra, change):
total_due = 600 * p
total_given = sum(bills) + extra
amount_kept = total_given - change
return amount_kept - total_due
if __name__ == "__main__":
p = int(input())
b = int(input())
bills = [int(input()) for _ in range(b)]
e = int(input())
r = int(input())
print(calc_profit(p, bills, e, r))
#include <stdio.h>
int main() {
int p, b, e, r, i, bill, sum = 0;
scanf("%d", &p);
scanf("%d", &b);
for (i = 0; i < b; i++) {
scanf("%d", &bill);
sum += bill;
}
scanf("%d", &e); // extra
scanf("%d", &r); // change returned
int total_due = 600 * p;
int total_given = sum + e;
int kept = total_given - r;
int profit = kept - total_due;
printf("%d\n", profit);
return 0;
}
0
â transaction honnĂȘte>0
â receveur vole de lâargent<0
â passagers sous-payentđ ⏠Retour Ă la liste des challenges