Pagini recente » Cod sursa (job #55181) | Cod sursa (job #825432) | Cod sursa (job #2485445) | Cod sursa (job #2336185) | Cod sursa (job #384380)
Cod sursa(job #384380)
# include <fstream.h>
ifstream f ("subsir2.in");
ofstream g ("subsir2.out");
int a[10000],t[10000],l[10000],poz,i,j,k,min,inf=2000000,n,minf,ok;
int main ()
{
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
min=inf;
for (i=n;i>=1;i--)
{
minf=inf;min=inf;
for (j=i+1;j<=n;j++)
if (a[j]>=a[i])
{
if (minf>=l[j])
if (a[j]<min)
{
minf=l[j];
min=a[j];
t[i]=j;
}
}
if (minf!=inf)
l[i]=minf+1;
else
l[i]=1;
}
min=inf;
minf=inf;
for (i=1;i<=n;i++)
{
ok=0;
for (j=1;j<i;j++)
if (a[j]<=a[i])
ok=1;
if (ok==0)
{ if (min>l[i])
{
min=l[i];
poz=i;
minf=a[i];
}
if (min==l[i])
if (minf>a[i])
{ minf=a[i];
poz=i;
}
}
}
g<<min<<"\n";
g<<poz<<" ";
while (t[poz])
{
g<<t[poz]<<" ";
poz=t[poz];
}
return 0;
}