Sunteți pe pagina 1din 2

#include <iostream>

using namespace std;

int main()
{
int v[100],n,lung,lungmax = 0,j,start, i;
cin>>n;
for( i = 1; i <= n; ++i )
cin >> v[ i ];

for(i=1;i<=n;i++) /// Sunt la pozitia i.


{
j = i + 1;
lung = 1;
while( v[i] == v[j] && j <= n )
{
lung = lung + 1;
j = j + 1;
}

if(lung > lungmax)


{
lungmax=lung;
start=i;
}

i= j - 1;
}

cout << "Cea mai lunga secventa de elemente egale are lung " << lungmax <<
endl;
for( i = start; i <= start + lungmax - 1; ++i )
cout << v[ i ] << " ";

cout << "Capat st: " << start << endl;


cout << "Capat dr: " << start + lungmax - 1 << endl;

/// Rezolvam pb #524, secvEgale1


lungmax = 0;
for(i=1;i<=n;i++) /// Sunt la pozitia i.
{
j = n;

while( v[i] != v[j] && j > i )


{
j = j - 1;
}

if( j != i )
lung = j - i + 1;
else
lung = 0;
if(lung > lungmax)
{
lungmax = lung;
start = i;
}

cout << "Cea mai lunga secventa care incepe si se termina cu aceeasi valoare
are lung: " << lungmax << endl;
cout << "cap st: " << start << endl;
cout << "cap dr: " << start + lungmax - 1 << endl;

return 0;
}

S-ar putea să vă placă și