Pagini recente » Cod sursa (job #417218) | Cod sursa (job #1065158) | Profil Roflmao | Cod sursa (job #780048) | Cod sursa (job #694139)
Cod sursa(job #694139)
#include <fstream>
using namespace std;
int n, a[100001], i, j, v[100001];
ifstream in("scmax.in");
ofstream out("scmax.out");
void citire()
{
in>>n;
for(i=1; i<=n; i++)
in>>a[i];
}
void dinamica()
{
for(i=n; i>1; i--)
{
int max=0;
for(j=i+1; j<=n; j++)
if(max<v[j] && a[i]<a[j])
max=v[j];
v[i]=max+1;
}
int max=v[1];
for(i=2; i<=n; i++)
if(max<v[i])
max=v[i], j=i;
out<<max<<'\n'<<a[j]<<' ';
for(i=1; i<=n; i++)
if(max==v[i]+1 && a[j]<a[i])
{
out<<a[i]<<' ';
j=i;
max=v[i];
}
}
int main()
{
citire();
dinamica();
return 0;
}