Rezolvare completă PbInfo #1424 Smartphone

Andrei este elev în clasa a V-a și își dorește mult un smartphone. Tatăl său știe de acest lucru și s-a gândit să-i facă o bucurie de ziua lui. Așa că a hotărât să-l ducă într-un magazin de telefoane să-și aleagă unul.

Fiecare telefon este inscripţionat cu un număr ce reprezintă performanţa acestuia. Cu cât numărul este mai mare, cu atât telefonul este mai bun. Andrei l-a dorit pe cel mai performant (cu numărul cel mai mare) dar tatăl lui i l-a cumpărat pe al doilea ca performanță.

Cerința

Dându-se numărul n de smatphone-uri și performanța fiecăruia, să se determine:

1. Numărul cu care este inscripționat telefonul dorit de Andrei;
2. Numărul cu care este inscripționat telefonul pe care l-a primit Andrei.

Date de intrare

Fișierul de intrare smartphone.in conține pe prima linie un număr natural c (1 sau 2) reprezentând numărul cerinței ce trebuie rezolvată.

A doua linie conține numărul natural n reprezentând numărul de telefoane din magazin.
A treia linie conține n valori naturale distincte, separate prin câte un spaţiu, reprezentând performanțele telefoanelor.

Date de ieșire

Fișierul de ieșire smartphone.out va conține pe prima linie un singur număr reprezentând răspunsul la cerința citită din fișierul de intrare.

Restricții și precizări

  • 1 ≤ n ≤ 10000
  • 1 ≤ x ≤ 2000000000 (x = numărul inscripționat pe telefon)
  • Pentru c = 1 se va rezolva doar cerința 1. Pentru c = 2 se va rezolva doar cerința 2.

Exemplul 1

smartphone.in

1
5
12 345 231 29 100

smartphone.out

345

Explicație

Cerința este 1. Numărul inscripționat pe telefonul dorit de Andrei este 345.

Exemplul 2

smartphone.in

2
5
12 345 231 29 100

smartphone.out

231

Explicație

Cerința este 2. Numărul inscripționat pe telefonul primit de Andrei este 231.

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 Smartphone:

#include <fstream>

using namespace std;

ifstream fin("smartphone.in");
ofstream fout("smartphone.out");

int main()
{
    int c , n , x , max = -1, max2 = -2;
    fin >> c >> n;
    for(int i = 1; i <= n ; i ++)
    {
        fin >> x;
        if(x > max)
            max2 = max, max = x;
        else
            if(x > max2)
                max2 = x;
    }
    if(c == 1)
        fout << max;
    else
        fout << 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 #1424 Smartphone

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1424 Smartphone 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!