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; }