Pagini recente » Cod sursa (job #561165) | Cod sursa (job #2417010) | Cod sursa (job #1855471) | Cod sursa (job #1448236) | Cod sursa (job #1785942)
#include <cstdio>
using namespace std;
int a[100000], n, b[100000];
void citire()
{
scanf("%d", &n);
for(int i=0;i<n;i++)
scanf("%d ", &a[i]);
}
void generare()
{
for(int i=0;i<n;i++)
{
int nr=1;
for(int j=i+1;j<n;j++)
if(a[i]<a[j])
nr++;
b[i]=nr;
}
}
int solutie()
{
int lmax=1;
for(int i=1;i<n;i++)
{
lmax++;
int j=i;
while(b[i]==b[j])
i++;
}
return lmax;
}
void afisare()
{
printf("%d\n", solutie());
for(int i=1;i<n;i++)
{
printf("%d ", a[i]);
int j=i;
while(b[i]==b[j])
i++;
}
printf("%d ", a[n-1]);
}
int main()
{
freopen("scmax.in","r",stdin);
freopen("scmax.out","w",stdout);
citire();
generare();
solutie();
afisare();
return 0;
}