Pagini recente » Cod sursa (job #50894) | Cod sursa (job #2406973) | Cod sursa (job #2098919) | Cod sursa (job #949751) | Cod sursa (job #497467)
Cod sursa(job #497467)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
vector <int> v;
int a[100005],b[100005], p[100005];
int main()
{int n,i,x,m=0,y=0,indMax;
int max=0;
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
for(int i=1;i<=n;i++)
{b[i]=1;
for(int j=i-1;j>0;j=j-1)
if(a[i]>a[j] && b[i] < b[j] + 1) {
b[i]=1+b[j];
p[i] = j;
}
if(max<b[i])
{max=b[i];
indMax = i;
}
}
g<<max<<endl;
for(int i=indMax;i>0;i=p[i])
v.push_back(a[i]);
for(int i=v.size()-1;i>=0;i--)
g<<v[i]<<" ";
f.close();
g.close();
return 0;
}