Pagini recente » Cod sursa (job #463678) | Cod sursa (job #274227) | Cod sursa (job #491708) | Cod sursa (job #2437370) | Cod sursa (job #1365420)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
long n,lung[100000],urm[100000],a[100000],maxim=-1;
int i,j,poz;
f>>n;
for(i=1;i<=n;++i)
f>>a[i];
for(i=n;i>=1;--i){
lung[i]=1;
for( j=n;j>i;--j )
{
if( a[i] < a[j] )
if( lung[i] < lung[j]+1 )
{
lung[i]=lung[j]+1;
urm[i]=j;
}
}
if(lung[i]>maxim)
{
maxim=lung[i];
poz=i;
}
}
g<<maxim<<"\n";
while(poz!=0)
{
g<<a[poz]<<" ";
poz=urm[poz];
}
return 0;
}