Pagini recente » Cod sursa (job #2075408) | Cod sursa (job #1982526) | Cod sursa (job #2272388) | Cod sursa (job #2313811) | Cod sursa (job #2358275)
#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--)
{
for(j = i+1; j <= n; j++)
if(dp[j] > dp[i] && a[i] < a[j])
{
dp[i] = dp[j] + 1;
if(dp[i] > len)
{
len = dp[i];
poz = i;
}
}
if(dp[i] == 0) dp[i] = 1;
}
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;
}