Pagini recente » Cod sursa (job #1552885) | Cod sursa (job #1532331) | Cod sursa (job #580914) | Cod sursa (job #1040344) | Cod sursa (job #787569)
Cod sursa(job #787569)
#include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> v[100000];
int a[100000];
bool cmp(int x, int y)
{
if(*(v[x].end()-1)<*(v[y].end()-1))
return 0;
return 1;
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
int n,i,j,k=0,x;
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%d",&x);
for(j=1;j<=k;++j)
if(*(v[a[j]].end()-1)<x)
{
v[j].push_back(x);
break;
}
if(j==k+1)
{
v[++k].push_back(x);
a[k]=k;
}
sort(a+1,a+k+1,cmp);
}
j=0;
n=0;
for(i=1;i<=k;++i)
if(v[i].size()>j)
{
n=i;
j=v[i].size();
}
printf("%d\n",j);
for(i=0;i<j;++i)
printf("%d ",v[n][i]);
return 0;
}