Pagini recente » Cod sursa (job #3259658) | Cod sursa (job #1117451) | Cod sursa (job #345887) | Cod sursa (job #2976364) | Cod sursa (job #1748912)
#include<bits/stdc++.h>
#define NMax 100005
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int v[NMax], l[NMax], n, i, k, Max, t;
int main()
{
in>>n;
for(i=1; i<=n; i++)
in>>v[i];
l[n] = 1;
for(k=n-1; k >=1; k--)
{
Max = 0;
for(i = k+1; i <= n; i++)
if(v[i] > v[k] && l[i] > Max)
{
Max = l[i];
}
l[k] = 1 + Max;
}
Max = l[1];
t = 1;
for(k = 1; k <= n; k++)
if(l[k] > Max)
{
Max = l[k];
t = k;
}
out<<Max<<"\n"<<v[t]<<" ";
for(i = t + 1; i <= n; i++)
if(v[i] > v[t] && l[i] == Max-1)
{
out<<v[i]<<" ";
Max--;
}
}