Răspuns:
#include <fstream>
using namespace std;
ifstream fin( "seif2.in" );
ofstream fout( "seif2.out" );
int v[ 100001 ];
int nrDeCifre( int x )
{
int nrCif = 0;
while( x != 0 )
{
++nrCif;
x /= 10;
}
return nrCif;
}
int main()
{
int n = 0, maxim = -1;
fin >> n;
for( int i = 0; i < n; ++i )
{
fin >> v[ i ];
}
for( int i = 0; i < n - 1; ++i )
{
int nr1 = v[ i ], nr2 = v[ i + 1 ], cifru = 0, p = 1;
for( int j = 0; j < nrDeCifre( nr2 ); ++j )
{
p *= 10;
}
cifru = nr1 * p + nr2;
if( cifru > maxim )
maxim = cifru;
}
fout << maxim;
return 0;
}
Explicație:
Banuiesc ca problema este de pe pbinfo, dar nu am gasit-o. Daca imi spui codul problemei o testez acolo ca sa fiu sigur ca iti da 100. Pe exemplul tau mi-a dat, dar nu am testat pe cazut de limita.