Pagini recente » Cod sursa (job #2366750) | Cod sursa (job #3233797) | Cod sursa (job #581901) | Cod sursa (job #1957400) | Cod sursa (job #2451602)
#include <fstream>
using namespace std;
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int p[100005], v[100005], q[100005];
int n, Q;
void bacc(int a, int b)
{
while(p[b] != a) b--;
if(a > 1) bacc(a-1, b-1);
cout << v[b] << ' ';
}
void rez()
{
int j;
cin >> n ;
for(int i = 1 ; i <= n ; i++)
{
cin >> v[i];
int aux = v[i];
j = 1;
while(j <= Q && q[j] < aux)
j++;
q[j] = aux;
p[i] = j;
Q = max(Q,j);
}
}
void print()
{
cout << Q << '\n';
bacc(Q, n);
}
int main()
{
rez();
print();
}