Pagini recente » Cod sursa (job #854223) | Cod sursa (job #1644281) | Cod sursa (job #2077920) | Cod sursa (job #1213894) | Cod sursa (job #384289)
Cod sursa(job #384289)
# include <fstream.h>
ifstream f ("subsir2.in");
ofstream g ("subsir2.out");
int a[10000],t[100000],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];
t[i]=j;
}
if (minf>l[j])
{
minf=l[j];
min=a[j];
t[i]=j;
}
else
if (min>=a[j])
{
min=a[j];
minf=l[j];
t[i]=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<<" ";
while (t[poz])
{
g<<t[poz]<<" ";
poz=t[poz];
}
return 0;
}