Pagini recente » Cod sursa (job #1883194) | Cod sursa (job #1923231) | Cod sursa (job #2851970) | Cod sursa (job #2699180) | Cod sursa (job #1734133)
#include <iostream>
#include <fstream>
using namespace std;
int l[100010];
int v[100010];
int main()
{
int n,maxi,maxi2=0,ind,i,j;
ifstream in ("scmax.in");
ofstream out ("scmax.out");
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
l[n]=1;
for(i=n-1;i>=1;i--)
{
maxi=0;
for(j=i+1;j<=n;j++)
if(maxi<l[j] && v[i]<v[j])
maxi=l[j];
l[i]=maxi+1;
if(maxi2<l[i])
{
maxi2=l[i];
ind=i;
}
}
out<<maxi2<<endl<<v[ind]<<" ";
maxi2--;
for(i=ind+1;i<=n;i++)
{
if(maxi2==l[i] && v[ind]<v[i])
{
maxi2--;
ind=i;
out<<v[i]<<" ";
}
}
return 0;
}