Pagini recente » Cod sursa (job #56510) | Cod sursa (job #65201) | Cod sursa (job #850222) | Cod sursa (job #3227817) | Cod sursa (job #2451599)
#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 << q[a] << ' ';
}
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();
}