Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("cifre.in");
- int main()
- {
- short st, dr;
- /*st va fi mereu valoarea primei cifre din secventa
- iar dr ultima valoare citita
- */
- fin>>st;
- int l_c=1, ind_st=1, val=st;
- int l_max=1, ind_st_max=1;
- /*
- l_c lungime curenta
- ind_st indicele inceputului de secventa
- val valoarea cifrei
- l_max lungime maxima
- ind_st_max indicele inceputului de secventa de lungime maxima
- le declar direct =1 pentru cazul in care am o singura cifra in sir
- */
- while (fin>>dr)
- {
- if (st==dr)
- {
- l_c++;
- //cazu convenabil, cresc lungimea
- }
- else
- {
- if (l_c>l_max)
- l_max=l_c, val=st, ind_st_max=ind_st;
- //daca descoper o secventa mai lunga, fac schimbarile necesare
- ind_st=ind_st+l_c, l_c=1, st=dr;
- //imi reinitializez valorile ca sa pot numara din nou
- }
- }
- if (l_c>l_max)
- l_max=l_c, val=st, ind_st_max=ind_st;
- //verific si daca mi se termina citirea inainte sa
- //termin de verificat ultima secventa
- cout<<ind_st_max<<' '<<ind_st_max+l_max-1<<' '<<val<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment