Pagini recente » Cod sursa (job #566400) | Cod sursa (job #2705034) | Cod sursa (job #1599421) | Cod sursa (job #300693) | Cod sursa (job #674277)
Cod sursa(job #674277)
#include<fstream>
#include<string>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int i,j,n,t[100001],l[100001],poz[100001];
void din()
{
for(i=n-2;i>=0;--i)
for(j=i+1;j<n;++j)
if(t[i]<t[j] && l[i]<l[j]+1)
{
l[i]=l[j]+1;
poz[i]=j;
}
}
int main()
{
int max=1,p;
fin>>n;
for(i=0;i<n;++i)
fin>>t[i];
for(i=0;i<n;++i) l[i]=1;
din();
for(i=0;i<n;++i) if(l[i]>max) {max=l[i]; p=i;}
fout<<max<<'\n';
i=p;
do
{
fout<<t[i]<<" ";
i=poz[i];
}while(!(l[i]==1));
fout<<t[i]<<'\n';
return 0;
}