Pagini recente » Cod sursa (job #1683271) | Cod sursa (job #1683797) | Cod sursa (job #2054864) | Cod sursa (job #2180259) | Cod sursa (job #1666301)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,i,j,k,ma,v[100001],t[100001],l[100001];
int main()
{ f>>n;
for (i=1;i<=n;++i)
f>>v[i];
l[n]=1;
t[n]=0;
for (i=n-1;i>=1;--i) {
ma=0;
for (j=i+1;j<=n;++j)
if (v[j]>v[i] && l[j]>ma) {
ma=l[j];
k=j;}
t[i]=k;
l[i]=ma+1;}
ma=0;
for (i=1;i<=n;++i)
if (ma<l[i]) {
ma=l[i];
k=i;}
g<<ma<<'\n';
while (k>0) {
g<<v[k]<<" ";
k=t[k];
}
return 0;
}