Pagini recente » coci-finala-2013 | Cod sursa (job #1427149) | Cod sursa (job #358813) | Cod sursa (job #3170817) | Cod sursa (job #2870096)
#include <iostream>
#include <fstream>
#define MAXN 100001
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,v[MAXN],dp[MAXN],afis[MAXN],maxl;
int main()
{
f>>n;
for (int i=1; i<=n; i++)
{
f>>v[i];
}
dp[1]=1;
/*for (int i=1; i<=n; i++)
{
sumpart[i]=sumpart[i-1]+v[i];
*/
for (int i=2; i<=n; i++)
{
int max1=0;
for (int j=i-1; j>=1; j--)
{
if (v[i]>v[j])
max1=max(max1,dp[j]);
}
dp[i]=max1+1;
maxl=max(maxl,dp[i]);
}
g<<maxl<<'\n';
int l=maxl;
for (int i=n; i>=1; i--)
{
if (dp[i]==l)
{
afis[l]=v[i];
l--;
}
}
for (int i=1; i<=maxl; i++)
g<<afis[i]<<' ';
return 0;
}