Pagini recente » Cod sursa (job #1712974) | Cod sursa (job #3211879) | Istoria paginii utilizator/mamica | Cod sursa (job #1987788) | Cod sursa (job #534645)
Cod sursa(job #534645)
#include<stdio.h>
#define N 5001
#define MAX_IM -1000000
using namespace std;
long v[N];
int best[N];
int sol[N];
int maxim=0;
int n;
void citire()
{
freopen("subsir2.in","r",stdin);
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%ld",&v[i]);
}
void vector()
{
maxim=0;
best[1]=1;
for(int i=2;i<=n;i++)
{
int max=MAX_IM;
for(int j=1;j<=i;j++)
{
if(max<best[j]&&v[j]<v[i])
max=best[j];
}
best[i]=max+1;
if(maxim<best[i])
maxim=best[i];
}
}
void afisare()
{
freopen("subsir2.out","w",stdout);
printf("%d\n",maxim);
for(int i=1;i<=maxim;i++)
printf("%d ",sol[i]);
printf("\n");
/*
for(int i=1;i<=n;i++)
printf("%d ",best[i]);
*/
}
int main()
{
citire();
vector();
afisare();
return 0;
}