Pagini recente » Cod sursa (job #1171085) | Cod sursa (job #1498526) | Cod sursa (job #2050440) | Cod sursa (job #2223596) | Cod sursa (job #2063255)
#include <fstream>
using namespace std;
int lmax,v[5010],l[5010],min1,max1,n,i,j,ct,min2,el;
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';
el=-1000001;
while(max1)
{
min1=1000001;
for(i=1;i<=n;i++)
if(l[i]==max1&&v[i]<=min1&&v[i]>=el) {min1=v[i];ct=i;}
fout<<ct<<" ";
el=v[ct];
max1--;
}
return 0;
}