Pagini recente » Cod sursa (job #1916132) | Cod sursa (job #119520) | Cod sursa (job #3280393) | Cod sursa (job #341400) | Cod sursa (job #2549370)
#include <fstream>
using namespace std;
ifstream f("sclm.in");
ofstream g("sclm.out");
int a[1001],n;
int l[1001];
int anterior;
int ant[1001];
int rez[1001],k;
int main()
{
f>>n;
for(int i=1; i<=n; i++)
f>>a[i];
int maxi=0;
for(int i=1; i<=n; i++)
{
maxi=0;
anterior=0;
for(int j=1; j<=n; j++)
if(a[i]>a[j] and l[j]>maxi)
{
maxi=l[j];
anterior=j;
}
l[i]=1+maxi;
ant[i]=anterior;
}
int pos=1;
maxi=l[1];
for(int i=1; i<=n; i++)
if(l[i]>maxi)
{
maxi=l[i];
pos=i;
}
g<<maxi<<"\n";
do
{
rez[++k]=pos;
pos=ant[pos];
}
while(pos);
for(int i=k; i>=1; i--)
g<<rez[i]<<" ";
f.close();
g.close();
return 0;
}