Elevii clasei a V-a au fost provocați de către colegii lor de la alte școli să participe la concursul TRIVIADOR. Într-o echipă participă exact trei elevi care trebuie să răspundă la întrebări de cultură generală, obținând punctaje individuale. Punctajul unei echipe este suma punctajelor obținute de către membrii acesteia.
Cerința
Date n
, numărul de echipe și punctajele individuale ale membrilor fiecăreia, să se determine cele mai mari două punctaje diferite, obținute de către echipele participante. Dacă nu există două punctaje diferite, se va afișa mesajul TOTI SUNT CASTIGATORI
Date de intrare
Fișierul de intrare triviador.in
conține pe prima linie n
, numărul de echipe și pe următoarele n
linii, câte trei numere separate printr-un spațiu, reprezentând punctajele celor trei membri ai fiecărei echipe.
Date de ieșire
Fișierul de ieșire triviador.out
va conţine pe prima linie două valori, în ordine descrescătoare, reprezentând cele mai mari două punctaje diferite obținute de către echipele participante sau mesajul TOTI SUNT CASTIGATORI
dacă nu sunt două valori maxime diferite.
Restricții și precizări
2 ≤ n ≤ 10.000
0 ≤ punctaj ≤ 100.000
Exemplul 1:
triviador.in
5 7 2 5 1 4 2 3 3 7 0 9 5 6 2 2
triviador.out
14 13
Explicație
Echipele obțin următoarele punctaje: 14=7+2+5
, 7=1+4+2
, 13=3+3+7
, 14=0+9+5
, 10=6+2+2
. Cele două punctaje maxime diferite sunt 14 13
.
Exemplul 1:
triviador.in
3 2 2 3 1 0 6 4 1 2
triviador.out
TOTI SUNT CASTIGATORI
Explicație
Echipele obțin punctaje egale cu 7
și se va afișa TOTI SUNT CASTIGATORI
.
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 triviador:
#include <bits/stdc++.h>
using namespace std;
ifstream fin("triviador.in");
ofstream fout("triviador.out");
int n, x, y, z, s, max1, max2;
int main() {
fin >> n;
for (int i = 1; i <= n; ++ i){
fin >> x >> y >> z;
s = x + y + z;
if (s > max1) max2 = max1, max1 = s;
else if (s > max2 && s != max1) max2 = s;
}
if (max2 == 0) fout << "TOTI SUNT CASTIGATORI";
else fout << max1 << ' ' << max2;
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 #2916 triviador
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2916 triviador 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!