Rezolvare completă PbInfo #1875 platou1

Cerința

Se consideră un șir de cifre. Să se determine lungimea maximală a unei secvențe din șir formată din cifre egale.

Date de intrare

Fișierul de intrare platou1.in conține pe prima linie cifrele reprezentând termenii șirului, separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire platou1.out va conține pe prima linie două numere naturale k x, separate printr-un singur spațiu, k reprezentând lungimea secvenței determinate, iar x reprezentând termenul șirului din care este formată secvența.

Restricții și precizări

  • fișierul de intrare conține cel mult 1.000 de cifre, separate prin câte un spațiu, reprezentând termenii șirului dat;
  • dacă șirul conține mai multe secvențe cu lungimea maximală, se va afișa cel mai mic termen ce formează o astfel de secvență.

Exemplu

platou1.in

3 8 8 8 8 9 9 9 2 5 5 5 5 7 6 6 6 6 8 8

platou1.out

4 5

Explicație

În fișierul de intrare sunt 3 secvențe cu lungimea maximă k=4, termenul cel mai mic fiind x=5.

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

#include <iostream>
#include <fstream>
using namespace std;
ifstream f("platou1.in");
ofstream g("platou1.out");
int main()
{
    int xmin=10, k=0,lg=1,x,y;
    f>>x;
    while(f>>y)
        if(x==y)lg++;
        else
        {
            if(k<lg)
            {
                k=lg;
                xmin=x;
            }
            else 
                if(k==lg && xmin>x) xmin=x;
            lg=1;
            x=y;
        }
    g<<k<<" "<<xmin<<endl;
    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 #1875 platou1

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