Pagini recente » Cod sursa (job #2907566) | Cod sursa (job #2536856) | Cod sursa (job #760529) | Cod sursa (job #3253313) | Cod sursa (job #2958446)
#include<fstream>
using namespace std;
ifstream F("subsir2.in");
ofstream G("subsir2.out");
int n,i,a[5001],l[5001],p[5001],m,j,k,t,r=2e9;
bool o;
int main()
{
for(F>>n,i=1;i<=n;++i)
if(F>>a[i],r>a[i])
r=a[i],k=i;
for(l[n]=1,i=n-1;i;--i)
for(m=l[i]=2e9,j=i+1;j<=n;++j)
if(a[j]>a[i]&&a[j]<m)
if(m=a[j],l[i]>l[j]+1)
l[i]=l[j]+1,p[i]=j;
else if(l[j]+1==l[i]&&a[j]<a[p[i]])
p[i]=j;
for(G<<l[k]<<'\n',i=k;i;G<<i<<' ',i=p[i]);
return 0;
}