Cod sursa(job #283168)

Utilizator irene_mFMI Irina Iancu irene_m Data 18 martie 2009 20:17:10
Problema Subsir 2 Scor 52
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream.h>
int a[5009],l[5009],poz[5009],n,min=5009,pmin;

void cit()
{
	int i;
	ifstream fin("subsir2.in");
	fin>>n;
	for(i=1;i<=n;i++)
	{
		fin>>a[i];
		if(a[i]<min)
		{
			min=a[i];
			pmin=i;
		}
	}
	fin.close();
}

void rez()
{
	int i,j,p;
	l[n]=1;
	for(i=n-1;i>=1;i--)
	{
		p=i+1;
		for(j=i+2;j<=n;j++)
			if(a[j]>=a[i] && a[j]<=a[p])
				p=j;
		if(a[p]>=a[i])
		{
			l[i]=l[p]+1;
			poz[i]=p;
		}
		else
			l[i]=1;
	}
}

void afis()
{
	int i,p;
	ofstream fout("subsir2.out");
	fout<<l[pmin]<<'\n';
	p=pmin;
	while(p!=0)
	{
		fout<<p<<" ";
		p=poz[p];
	}
	fout.close();
}


int main()
{
	cit();
	rez();
	afis();
	return 0;
}