Pagini recente » Cod sursa (job #2495353) | Cod sursa (job #1532398) | Cod sursa (job #1574116) | Cod sursa (job #2793740) | Cod sursa (job #384297)
Cod sursa(job #384297)
# include <fstream.h>
ifstream f ("subsir2.in");
ofstream g ("subsir2.out");
int a[10000],l[100000],poz,i,j,k,min,inf=32000,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=n;j>i;j--)
if (a[j]>=a[i])
{
if (minf==l[j])
if (min>=a[j])
{
min=a[j];
}
if (minf>l[j])
{
minf=l[j];
min=a[j];
}
else
if (min>=a[j])
{
min=a[j];
minf=l[j];
}
}
if (minf!=inf)
l[i]=minf+1;
else
l[i]=1;
}
min=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;
}
}
g<<min<<"\n";
g<<poz<<" ";
min--;
while (min)
{
minf=inf;
for (i=poz;i<=n;i++)
if (l[i]==min)
if (a[i]>=a[poz])
if (a[i]<minf)
{
minf=a[i];
poz=i;
}
g<<poz<<" ";
min--;
}
return 0;
}