Pagini recente » Cod sursa (job #966872) | Cod sursa (job #1490817) | Cod sursa (job #3237706) | Cod sursa (job #3148476) | Cod sursa (job #2178250)
#include <bits/stdc++.h>
using namespace std;
int n, a[100100], b[100100], c[100100], r;
void print_r(int r)
{
if (c[r] != 0)
print_r(c[r]);
cout << a[r] << ' ';
}
int main()
{
ifstream cin('scmax.in');
ofstream cout('scmax.out');
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
{
c[i] = 0;
b[i] = 1;
for (int j = 1; j < i; j++)
if(a[i] >= a[j] && b[j] + 1 > b[i])
{
b[i] = b[j] + 1;
c[i] = j;
}
if (b[i] > b[r])
r = i;
}
cout << b[r] << endl;
print_r(r);
return 0;
}