Pagini recente » Cod sursa (job #3282348) | Cod sursa (job #2930816) | Cod sursa (job #3251326) | Cod sursa (job #1955032) | Cod sursa (job #534659)
Cod sursa(job #534659)
#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;
sol[1]=1;
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];
if(v[j]>v[i])
max=0;
}
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;
}