Pagini recente » Cod sursa (job #1639606) | Cod sursa (job #1139031) | Cod sursa (job #2944030) | Cod sursa (job #2728445) | Cod sursa (job #1778255)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,a[100001],L[100001],i,Max,x;
void dload(int x){int Max=1;for (int i=x;i<=n;i++) if (Max<L[i]) Max=L[i],x=i; g<<Max; dload(x+1);}
int main()
{int i=1;
f>>n;
for (int i=1;i<=n;i++) f>>a[i];
for (i=n;i>=1;i--)
{
for (int j=i+1;j<=n;j++)
if (a[i]<a[j])
if (L[i]<=L[j])
L[i]=L[j]+1;
if (!L[i])L[i]=1;
}
Max=1;
for (i=1;i<=n;i++) if (Max<L[i]) Max=L[i];
x=1;g<<Max<<'\n';
while (Max>=1){for (int i=x;i<=n;i++) if (L[i]==Max) {x=i,g<<a[i]<<' ',Max--;break;}}
return 0;
}