Pagini recente » Cod sursa (job #1501464) | Cod sursa (job #2796985) | Cod sursa (job #1034221) | Monitorul de evaluare | Cod sursa (job #1015940)
#include <cstdio>
#define N 100000
using namespace std;
int a[N], l[N], n, poz, max;
void citire(){
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d", &a[i]);
}
void afisare()
{
printf("%d\n", max+1);
max++;
for(int i = poz; i < n; i++)
if(l[i] == max-1)
{
printf("%d ", a[i]);
max--;
}
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out", "w", stdout);
citire();
max = -1;
for(int i = n-1; i >= 0; i--)
for(int j = i+1; j < n; j++)
if(a[j] > a[i])
{
l[i] = l[j]+1;
max = l[i];
break;
}
afisare();
return 0;
}