În oraşul Olimpidia, toate băncile au hotărât să adopte o convenţie în ceea ce priveşte identificarea clienţilor săi, astfel încât fiecare cont deschis de un client să aibă asociat un cod format din exact 6 cifre:
- prima cifră (cea mai din stânga cifră a codului) va reprezenta numărul băncii (acest lucru fiind posibil deoarece în oraş nu sunt mai mult de
9
bănci, acestea fiind numerotate începând de la1
); - a doua cifră va reprezenta genul persoanei (
1
pentru genul masculin şi2
pentru genul feminin); - ultimele
4
cifre vor reprezenta suma aflată în contul persoanei în momentul în care se aplică stabilita convenţie.
Cerința
Cunoscând numărul total de conturi deschise şi codurile corespunzătoare acestora să se determine suma maximă pe care o are o persoană de gen masculin într-un cont aflat la banca X
.
Date de intrare
Fişierul de intrare conturi.in
conţine pe prima linie numerele naturale N X
, care reprezintă numărul de conturi deschise la băncile din oraş, respectiv numărul băncii pentru care trebuie aflată suma maximă. Pe următoarele N
linii se află N
numere naturale nenule, câte un număr pe o linie, reprezentând codurile conturilor, obţinute în urma aplicării convenţiei.
Date de ieșire
Fişierul de ieşire conturi.out
va conţine o singură linie pe care va fi scrisă suma maximă pe care o persoană de gen masculin o are într-un cont aflat la banca X
.
Restricții și precizări
1 ≤ N ≤ 100
1 ≤ X ≤ 9
- Pentru datele de test se garantează că există cel puţin un cont la banca X aparţinând unei persoane de gen masculin.
Exemplu
conturi.in
5 2 213400 515000 229088 326909 217044
conturi.out
7044
Explicație
Există 5 conturi: 3 la banca 2, unul la banca 5 şi unul la banca 3.
Dintre cele 3 conturi deschise la banca 2, sunt 2 conturi deţinute de bărbaţi, unul cu suma 3400, celălalt cu suma 7044. Suma maximă cerută este 7044.
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 Conturi:
#include <fstream>
using namespace std;
ifstream fin("conturi.in");
ofstream fout("conturi.out");
int maxi,s,x,n,i,b,t;
int main()
{
fin>>n>>x;
maxi=0;
for(i=1;i<=n;i++)
{
fin>>t;
b=t/100000;//banca
s=(t/10000)%10;//genul
if(s==1 && b==x)
if(t%10000>maxi)
maxi=t%10000;
}
fout<<maxi<<'\n';
fout.close();
fin.close();
return 0;
}
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 #2162 Conturi
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2162 Conturi 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!