Pagini recente » Cod sursa (job #796860) | Cod sursa (job #2157524) | Cod sursa (job #112176) | Cod sursa (job #831758) | Cod sursa (job #2493345)
#include <fstream>
using namespace std;
int v[10001],lg[10001],maxx;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int main()
{int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
}
lg[n]=1;
for(int i=n-1;i>=1;--i){
maxx=0;
for(int j=i+1;j<=n;++j)
if(v[i]<v[j]&&lg[j]>maxx)
maxx=lg[j];
lg[i]=maxx+1;
}
int poz;
maxx=0;
for(int i=1;i<=n;++i)
if(maxx<lg[i]){
maxx=lg[i];poz=i;
}
cout<<v[poz]<<" ";
for(int i=poz+1;i<=n&&maxx;++i)
if(lg[i]==maxx - 1&&v[i]>v[poz]){
cout<<v[i]<<" ";poz=i;maxx--;
}
}