Pagini recente » Cod sursa (job #2376531) | Cod sursa (job #809602) | Cod sursa (job #1668579) | Cod sursa (job #6611) | Cod sursa (job #867910)
Cod sursa(job #867910)
#include <iostream>
#include <fstream>
using namespace std;
void PrintEx();
int a[100001], l[100001],poz, k,i,mx,maxa,mi,n;
ifstream f("scmax.in");
ofstream g("scmax.out");
int main()
{
f>>n;
//f>>a[n];
for(i=1;i<=n;i++)
{
f>>a[i];
}
l[n]=1;
mx=0;
for(i=n-1;i>=1;i--)
{ //mx=0;
l[i]++;
bool ok=true;
for(k=i+1;k<=n&&ok;k++)
{
if(a[i]<a[k]&&l[k]>=mx)
{
mx=l[k];
poz=k;
ok=false;
}
}
if(k!=n)
l[i]=l[poz]+1;
if(l[poz]+1>mx)
{
mx=l[poz]+1;
}
if(l[i]==0)
{
l[i]=1;
}
}
g<<mx<<"\n";
g<<a[poz]<<" ";
for(i=1;i<=n;i++)
{
if(l[i]==mx-1)
{
g<<a[i]<<" ";
mx--;
}
}
PrintEx();
return 0;
}
void PrintEx()
{
g<<'\n';
for(int i=1;i<=n;i++)
g<<a[i]<<' ';
g<<'\n';
for(int i=1;i<=n;i++)
g<<l[i]<<' ';
}