Pagini recente » Cod sursa (job #1036474) | Cod sursa (job #442760) | Cod sursa (job #2115239) | Cod sursa (job #2174850) | Cod sursa (job #356840)
Cod sursa(job #356840)
#include <iostream>
using namespace std;
int s1[100000],s2[100000],lg;
int main()
{
freopen ("scmax.in","r",stdin);
freopen ("scmax.out","w",stdout);
int i,j;
bool ok=true;
int a[100000],n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
for(ok=true,j=0;j<lg&&ok;j++)
if(s1[j]>a[i])
s1[j]=a[i],ok=false;
if(ok)/*(s1[lg-1]>a[i])
s1[lg-1]=a[i],s2[lg-1]=i;
else*/
s1[lg]=a[i],s2[lg]=i,lg++;
}
printf("%d\n",lg);
for(i=0;i<lg;i++)
{
printf("%d ",a[s2[i]]);
}
return 0;
}