fbpx

Problema #1875 – platou1 – Rezolvari PBInfo

de Mihai-Alexandru

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.

#include <bits/stdc++.h>


using namespace std;

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

int main()
{
int xmin=10, k=0,lg=1,x,y;
   fin>>x; 

while(fin>>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; 
           }

fout<<k<<" "<<xmin<<endl;

fin.close();
fout.close();

return 0;
} 
Comentarii

S-ar putea sa iti placa