Pagini recente » oni_11_12_11 | Cod sursa (job #2325205) | Cod sursa (job #1000598) | Cod sursa (job #1734386) | Cod sursa (job #1144877)
#include<fstream>
#define maxn 100005
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int a[maxn],lung[maxn],s[maxn],k;
int i,j,n,maxim;
int main(){
fi>>n;
for(i=1;i<=n;i++) fi>>a[i];
//complexitate O(n^2)
lung[1]=1;
for(i=2;i<=n;i++){
maxim=1;
for(j=1;j<i;j++)
if(a[j]<a[i] && lung[j]+1>maxim) maxim=lung[j]+1;
lung[i]=maxim;
if(maxim>k) k=maxim;
}
maxim=k; s[k+1]=2000000009;
for(i=n;i>0;i--)
if(lung[i]==k && a[i]<s[k+1]) s[k--]=a[i];
fo<<maxim<<"\n";
for(i=1;i<=maxim;i++) fo<<s[i]<<" ";
fi.close();
fo.close();
return 0;
}