Pagini recente » Cod sursa (job #1196167) | Cod sursa (job #545288) | Cod sursa (job #2146210) | Cod sursa (job #830795) | Cod sursa (job #1419506)
#include<fstream>
#include<iostream>
using namespace std;
#define MAX 100001
int V[MAX];
int B[MAX];
int P[MAX];
ifstream in("scmax.in");
ofstream out("scnax.out");
void print(int i)
{
if(P[i]!=0)
{
print(P[i]);
out<<V[i]<<" ";
}
else if(P[i]==0)
out<<V[i]<<" ";
}
int main()
{
int max=(1<<31);
int pos=1,N,i,j;
in>>N;
for(i=1;i<=N;i++)
in>>V[i];
for(i=1;i<=N;i++)
{
for(j=1;j<=i;j++)
if(V[i]>V[i-j] && B[i]<B[i-j])
{
B[i]=B[i-j];
P[i]=i-j;
}
++B[i];
if(B[i]>max)
max=B[i],pos=i;
}
out<<B[pos]<<'\n';
print(pos);
return 0;
}