De ziua ei, Dora a primit cadou un telefon mobil cu cartelă pentru rețeaua favorită. Suma disponibilă pe cartelă este de E
Eurici dar oferta este grozavă pentru convorbiri. Astfel, pentru fiecare minut de convorbire în care a fost sunată dintr-o altă rețea decât rețeaua ei, cartela se încarcă cu 1
Euric dar, dacă sună ea într-o altă rețea, Dora va consuma câte 2
Eurici din creditul de pe cartela ei pentru fiecare minut de convorbire. Între membrii rețelei Dorei, toate convorbirile sunt gratuite indiferent de durata convorbirii, fie că sună ea, fie că este sunată.
Toate numerele din rețeaua Dorei au patru cifre și se termină cu cifra 9
iar numerele din alte rețele au tot patru cifre și se termină cu cifra 5
. Când sună Dora, ea formează întâi cifra 1
înaintea numărului pe care îl apelează. Când este sunată, apare cifra 2
înaintea numărului de la care primește apelul.
Cerința
Scrieți un program care, știind E
, valoarea inițială a creditului de pe cartela primită cadou, cele N
numere corespunzătoare convorbirilor pe care le-a avut Dora și duratele acestora exprimate în minute, să determine valoarea creditului rămas pe cartelă la terminarea convorbirilor.
Date de intrare
Din prima linie a fișierului text alo.in se citesc E
, valoarea creditului inițial de pe cartelă și N
numărul de convorbiri. Din următoarele N
linii se citesc perechi de forma Nr D
unde Nr
– numărul corespunzător convorbirii și D
– durata acesteia.
Date de ieșire
În fișierul text alo.out
se va scrie pe prima linie S
-numărul de Eurici care sunt disponibili pe cartela Dorei după cele N
convorbiri.
Restricții și precizări
5 ≤ E ≤ 100
2 ≤ N ≤ 500
1 ≤ D ≤ 50
- Convorbirile în care sună Dora se încadrează în limita creditului de pe cartelă de la momentul respectiv.
Exemplu
alo.in
10 5 12345 4 12439 15 21335 30 18375 10 22359 20
alo.out
12
Explicație
12345 4
– Dora sună la numărul 2345
care nu face parte din rețeaua ei și vorbește 4
minute. De pe cartelă se consumă 4*2=8
Eurici
12439 15
– Dora sună la numărul 2439
din rețeaua ei și vorbește 15
minute gratis
21335 30
– Dora este sunată de la numărul 1335
care nu este din rețeaua ei și vorbește 30
minute: Cartelase încarcă cu 30*1=30
Eurici
18375 10
– Dora sună la numărul 8375
care nu face parte din rețeaua ei și vorbește 10
minute. De pe cartelă se consumă 10*2=20
Eurici
22359 20
– Dora este sunată de la 2359
din rețeaua ei și vorbește 20
minute gratis.
Suma rămasă: 10-8+30-20=12
Eurici
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Alo:
program alo;
var f,g:text;
e,n,x,i,pc,uc,nr,d:longint;
begin
assign(f,'alo.in');reset(f);
assign(g,'alo.out');rewrite(g);
readln(f,e,n);
for i:=1 to n do
begin
readln(f,x,d);
pc:=x div 10000;
uc:=x mod 10;
if pc=1 then begin
if uc=5 then e:=e-2*d;
end
else begin
if uc=5 then e:=e+d;
end;
end;
writeln(g,e);
close(g);
end.
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2569 Alo
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2569 Alo de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!