Pagini recente » Cod sursa (job #2863200) | Cod sursa (job #1217975) | Cod sursa (job #2317220) | Cod sursa (job #98377) | Cod sursa (job #868344)
Cod sursa(job #868344)
#include <fstream>
//#define Open ifstream f("scmx.in"); ofstream g("scmx.out");
#define Open ifstream f("scmax.in"); ofstream g("scmax.out");
#define CLose f.close(); g.close();
const int elvis=100005;
using namespace std;
int a[elvis],aux[elvis],n,maxi,p;
void Rez();
void Read();
void PrintR();
void PrintEx();
Open
int main()
{
f>>n;
Read();
Rez();
PrintR();
PrintEx();
return 0;
}
void Read()
{
for(int i=1;i<=n;i++)
f>>a[i];
}
void PrintR()
{
g<<maxi;
g<<'\n';
for(int i=p;maxi;i++)
if(aux[i]==maxi)
{
maxi--;
g<<a[i]<<' ';
}
g<<'\n';
}
void PrintEx()
{
g<<'\n';
for(int i=1;i<=n;i++)
g<<a[i]<<' '<<aux[i]<<'\n';
g<<'\n';
}
void Rez()
{int mx=0;
aux[n]=1;
for(int i=n-1;i>=1;i--)
{maxi=0;
for(int j=i+1;j<=n;j++)
if(a[i]<a[j]&&aux[j]>maxi)
maxi=aux[j];
if(maxi!=0)
aux[i]=maxi+1;
else
aux[i]=1;
if(maxi>mx)
mx=maxi;
}
maxi=++mx;
}