Pagini recente » Cod sursa (job #1885370) | Cod sursa (job #1218993) | Cod sursa (job #3253875) | Cod sursa (job #1478680) | Cod sursa (job #283168)
Cod sursa(job #283168)
#include <fstream.h>
int a[5009],l[5009],poz[5009],n,min=5009,pmin;
void cit()
{
int i;
ifstream fin("subsir2.in");
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
if(a[i]<min)
{
min=a[i];
pmin=i;
}
}
fin.close();
}
void rez()
{
int i,j,p;
l[n]=1;
for(i=n-1;i>=1;i--)
{
p=i+1;
for(j=i+2;j<=n;j++)
if(a[j]>=a[i] && a[j]<=a[p])
p=j;
if(a[p]>=a[i])
{
l[i]=l[p]+1;
poz[i]=p;
}
else
l[i]=1;
}
}
void afis()
{
int i,p;
ofstream fout("subsir2.out");
fout<<l[pmin]<<'\n';
p=pmin;
while(p!=0)
{
fout<<p<<" ";
p=poz[p];
}
fout.close();
}
int main()
{
cit();
rez();
afis();
return 0;
}