Pagini recente » Cod sursa (job #1583867) | Cod sursa (job #199327) | Cod sursa (job #2255383) | Cod sursa (job #1278061) | Cod sursa (job #1867720)
#include <bits/stdc++.h>
using namespace std;
long v[100002],m[100002],i,j,k,n,maxx,c,drum[100010],b[100002];
int main(){
ifstream cin("scmax.in");
ofstream cout("scmax.out");
cin>>n;
for (i=1;i<=n;i++){
cin>>v[i];
m[i]=1;
}
maxx=-1;
int maxpos=-1;
for (i=2;i<=n;i++)
{
for (j=1;j<=i-1;j++){
if (v[i]>v[j]){
if (m[i]<m[j]+1){
m[i]=m[j]+1;
drum[i]=j;
}
}
}
if (m[i]>maxx) {
maxx=m[i];
maxpos=i;
}
// maxx=max(maxx,m[i]);
}
cout<<maxx<<endl;
i=1;
for (;maxpos;maxpos=drum[maxpos]) {
b[i]=v[maxpos];
i++;
}
for (i=maxx;i>=1;i--)
cout<<b[i]<<" ";
return 0;
}