Pagini recente » Cod sursa (job #1771170) | Cod sursa (job #2027438) | Cod sursa (job #2258352) | Cod sursa (job #104770) | Cod sursa (job #1526327)
#include <fstream>
using namespace std;
int main()
{
ifstream f ("scmax.in");
ofstream g ("scmax.out");
long l[100000]={0}, v[100000], i, n, j, a, c[100000], Max=0, Maxi;
f>>n;
for (i=0; i<n; i++)
{
f>>v[i];
}
l[0]=1;
for (i=1; i<n; i++)
{
l[i]=1;
j=i-1;
while ((j>=0)&&(v[j]>=v[i]))
{
j--;
}
if (j>=0)
{
l[i]=l[j]+1;
}
if (l[i]>Max)
{
Max=l[i];
Maxi=i;
}
}
a=Max-1;
c[Max-1]=v[Maxi];
for (i=Maxi-2; i>=0; i--)
{
if ((l[i]==a)&&(v[i]<c[a]))
{
a--;
c[a]=v[i];
}
}
for (i=0; i<Max; i++)
{
g<<c[i]<<' ';
}
f.close();
g.close();
return 0;
}