Pagini recente » Cod sursa (job #3178222) | Cod sursa (job #2765025) | Cod sursa (job #2775570) | Cod sursa (job #2656440) | Cod sursa (job #2063304)
#include <bits/stdc++.h>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int i,j,n,a[5005],l[5005],nr,lmx,imax,nri,nrmin,Min,poz,k,mnm,p;
int main()
{
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
for(i=n; i>0; i--)
{
for(j=i+1,Min=1e9; j<=n; j++)
if(a[j]>=a[i] &&a [j]<Min)
{
Min=min(Min,a[j]);
l[i]=min(l[i],l[j]+1);
if(!l[i])l[i]=l[j]+1;
}
if(l[i]==0)l[i]=1;
lmx=max(lmx,l[i]);
}
for(i=1,Min=1e9; i<=n; i++)
{
if(a[i]<Min)
{
Min=a[i];
lmx=min(lmx,l[i]);
}
}
g<<lmx<<'\n';
poz=1;
for (k=lmx; k>=1; k--)
{
mnm=1000000;
for (i=poz; i<=n; i++)
if (mnm>a[i] && l[i]==k)
{
p=i;
mnm=a[i];
}
poz=p;
g<<poz<<" ";
}
return 0;
}