Pagini recente » Cod sursa (job #2407692) | Cod sursa (job #2293292) | Cod sursa (job #1778551) | Cod sursa (job #289903) | Cod sursa (job #2358263)
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
ofstream fout("scmax.out");
ifstream fin("scmax.in");
int n,a[nmax],dp[nmax],len,poz;
int main()
{
int i,j;
fin >> n;
for(i = 1; i <= n; i++)
fin >> a[i];
dp[n] = 1;
for(i = n-1; i >= 1; i--)
{
int s = 0;
for(j = i+1; j <= n; j++)
if(dp[j] > s && a[i] < a[j])
s++;
s++;
if(s > len)
{
len = s;
poz = i;
}
dp[i] = s;
}
fout << len << "\n";
for(i = poz; i <= n && len > 0; i++)
if(dp[i] == len)
{
fout << a[i] << " ";
len--;
}
fin.close();
fout.close();
return 0;
}