Pagini recente » Cod sursa (job #1176007) | Cod sursa (job #2309374) | Cod sursa (job #1791862) | Cod sursa (job #233034) | Cod sursa (job #1097913)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int N, v[100002], L[100002], lmax, prec;
int main()
{
f>>N; v[0]=200000000; L[N]=1;
for (int i=1; i<=N; ++i)
f>>v[i], L[i]=1;
for (int i=N-1; i>0; --i)
for (int j=i+1; j<=N; ++j)
if (v[i]<v[j] && L[j]+1>L[i])
{
L[i]=L[j]+1;
if (lmax<L[i])
lmax=L[i], prec=i;
}
g<<lmax<<'\n'<<v[prec]<<' ';
for (int i=prec; i<=N; ++i)
if (L[i]==L[prec]-1)
g<<v[i]<<' ', prec=i;
return 0;
}