Pagini recente » Cod sursa (job #419324) | Cod sursa (job #1554607) | Cod sursa (job #2745967) | Cod sursa (job #136200) | Cod sursa (job #958028)
Cod sursa(job #958028)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[100002],n,v[100002],x[100002];
void read()
{
f>>n;
for(int i=1;i<=n;i++)
f>>a[i];
}
void calculate()
{
int i,max=-1,poz=-1;
for(i=n;i>=1;i--)
{
v[i]=0;
for(int j=i+1;j<=n;j++)
if(a[i]<a[j] && v[i]<v[j])
{
v[i]=v[j];
x[i]=j;
}
v[i]++;
if(max<v[i])
{
max=v[i];
poz=i;
}
}
g<<max<<"\n";
for(i=poz;i!=0;i=x[i])
g<<a[i]<<" ";
g<<"\n";
}
int main()
{
read();
calculate();
return 0;
}