Pagini recente » Cod sursa (job #1383624) | Cod sursa (job #175375) | Cod sursa (job #1461674) | Cod sursa (job #2861289) | Cod sursa (job #1760216)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,j,n,k;
unsigned int v[100002];
unsigned int l[100002];
unsigned int poz[100002];
unsigned int stiva[100002];
unsigned x1,x,Max,lung,p;
bool ok;
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
x=v[i];ok=0;
poz[i]=i;
l[i]=1;lung=1;p=i;
for(j=i-1;j>=1;j--)
{
if(x>v[j])
{
if(lung<l[j]+1){
lung=l[j]+1;
p=j;
}
}
}
//g<<lung<<"\n";
l[i]=lung;poz[i]=p;
if(l[i]>Max)
{
Max=l[i];
x1=i;
}
}
g<<Max<<"\n";
k=1;
while(x1!=poz[x1])
{
//g<<v[x]<<" ";
stiva[k]=x1;
x1=poz[x1];
k++;
}
stiva[k]=x1;
for(i=k;i>=1;i--)
{
g<<v[stiva[i]]<<" ";
}
//g<<v[x];
f.close();
g.close();
return 0;
}