Pagini recente » Cod sursa (job #788394) | Cod sursa (job #269503) | Cod sursa (job #2791952) | Cod sursa (job #1699024) | Cod sursa (job #2674780)
#include <iostream>
#include <fstream>
#define mx 100001
using namespace std;
ifstream fin("sclm.in");
ofstream fout("sclm.out");
int n, v[mx], L[mx], T[mx];
int lmax, st, p, l;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
for(int i=n;i>=1;i--)
{
l=0;
p=i;
for(int j=i+1;j<=n;j++)
{
if(v[j]>v[i] and L[j]>l)
{
l=L[j];
p=j;
}
}
L[i]=l+1;
T[i]=p;
if(L[i]>lmax)
{
lmax=L[i];
st=i;
}
}
fout<<lmax<<endl;
while(T[st]!=st)
{
fout<<st<<' ';
st=T[st];
}
fout<<st;
return 0;
}