Rezolvare completă PbInfo #2916 triviador

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 Adresa de email.

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!