Pagini recente » Cod sursa (job #258425) | Cod sursa (job #2394388) | Cod sursa (job #1113033) | Cod sursa (job #3132994) | Cod sursa (job #1778783)
#include <fstream>
using namespace std;
int v[100001],n;
int p[100001];
ifstream a("scmax.in");
ofstream b("scmax.out");
int main()
{
a>>n;
for(int i=1;i<=n;i++)
a>>v[i];
p[n]=1;
for(int i=n-1;i>=1;i--){
int x=0;
for(int j=i+1;j<=n;j++){
if(v[i]<v[j]&&x<p[j])
x=p[j];
}
p[i]=1+x;
}
int maxi=0,d=0;
for(int i=1;i<=n;i++)
if(p[i]>maxi)
{
maxi=p[i];
d=i;
}
b<<maxi<<endl;
b<<v[d]<<" ";
for(int i=d+1;i<=n,maxi>1;i++)
{
if(p[i]==maxi-1 && v[d]<v[i])
{
maxi--;
d=i;
b<<v[d]<<" ";
}
}
return 0;
}