Pagini recente » Cod sursa (job #3202994) | Cod sursa (job #1129233) | Cod sursa (job #1563162) | Cod sursa (job #2966519) | Cod sursa (job #948019)
Cod sursa(job #948019)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[100000],k,i,j,m,n,nr,Max,Max1,b[100000],c[100000],z,Min;
int main()
{
f>>n;
for(i=1; i<=n; i++)
f>>a[i];
b[n]=1;
for(i=n-1; i>=1; i--)
{
Max=0;
for(j=i+1; j<=n; j++)
if(a[j]>a[i]) if(b[j]>Max) {Max=b[j];z=j;}
if(Max==0) b[i]=1;
else b[i]=1+b[z];
if(b[i]>Max1) Max1=b[i];
}Max1++;
g<<Max1-1<<'\n';
while( Max1>1)
{ k++;
Min=999999999;
Max1--;
for(i=1; i<=n; i++)
if(b[i]==Max1) if(a[i]<Min && c[k-1]<a[i]) Min=a[i];
c[k]=Min;
}
for(i=1; i<=k; i++)
g<<c[i]<<' ';
return 0;
}