Pagini recente » Cod sursa (job #2323144) | Cod sursa (job #2943570) | Cod sursa (job #1496942) | Cod sursa (job #639083) | Cod sursa (job #2063199)
#include <fstream>
using namespace std;
int lmax,v[5010],l[5010],min1,max1,n,i,j,ct,min2;
int main()
{
ifstream fin ("subsir2.in");
ofstream fout ("subsir2.out");
fin>>n;
for(i=1;i<=n;i++)
fin>>v[i];
l[n]=1;
for(i=n-1;i>=1;i--)
{
ct=0;
min2=1000001;
for(j=i+1;j<=n;j++)
{
if(v[j]>=v[i]&&v[j]<=min2) {min2=v[j];ct=j;}
}
l[i]=l[ct]+1;
if(l[i]>max1) max1=l[i];
}
/*for(i=1;i<=n;i++)
fout<<l[i]<<" ";*/
fout<<max1<<'\n';
while(max1)
{
min1=1000001;
for(i=1;i<=n;i++)
if(l[i]==max1&&v[i]<=min1) {min1=v[i];ct=i;}
fout<<ct<<" ";
max1--;
}
return 0;
}