Pagini recente » Cod sursa (job #321256) | Cod sursa (job #2344840) | Cod sursa (job #542445) | Cod sursa (job #178466) | Cod sursa (job #2954540)
#include<fstream>
using namespace std;
ifstream F("subsir2.in");
ofstream G("subsir2.out");
int n,i,a[5001],b,c[5001],l[5001],m,j;
int main()
{
for(F>>n,i=1;i<=n;F>>a[i],l[i++]=1);
for(i=2;i<=n;++i)
for(j=1;j<i;++j)
if(a[i]>a[j]&&l[i]<l[j]+1)
l[i]=l[j]+1;
for(i=1;i<=n;m=max(m,l[i]),++i);
for(G<<m<<'\n',b=1e6,c[m]=n,i=m;i;--i)
for(j=c[i];j;--j)
if(l[j]==i&&b>a[j])
b=a[j],c[i-1]=j;
for(i=0;i<m;G<<c[i++]<<' ');
return 0;
}