Pagini recente » Cod sursa (job #2460273) | Cod sursa (job #180689) | Cod sursa (job #2782908) | Cod sursa (job #1062200) | Cod sursa (job #2119120)
#include <iostream>
#include <fstream>
using namespace std;
const int N=100001;
int a[N], n, dp[N], m, poz, c, p[N];
ifstream f ("scmax.in");
ofstream g ("scmax.out");
void lm (int x)
{
int i, k=2;
c=0;
p[1]=a[x];
for (i=x; i<=n; i++)
{
if (a[i]<a[i+1])
{
c++;
p[k++]=a[i+1];
}
}
m=k;
}
int main()
{
int i, j;
f>>n;
for (i=1; i<=n; i++)
{
f>>a[i];
}
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
if (a[j]>a[i] && j>i) dp[i]++;
}
m=0;
for (i=1; i<=n; i++)
if (dp[i]>m)
{
m=dp[i];
poz=i;
}
lm(poz);
g<<c+1<<'\n';
for (i=1; i<m; i++)
{
g<<p[i]<<" ";
}
return 0;
}