Pagini recente » Cod sursa (job #3191721) | Cod sursa (job #2578784) | Cod sursa (job #1443924) | Cod sursa (job #2824681) | Cod sursa (job #1656020)
#include <fstream>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, last, a[100005], sh[100005], N[100005];
int main()
{
int i, j, k;
fin>>n;
for (i=1; i<=n; i++)
{
fin>>a[i];
}
last=1;
sh[1]=a[1];
for (i=2; i<=n; i++)
{
for (j=last; j>=0; j--)
{
if (a[i]>sh[j])
{
if (a[i]<sh[j+1] || sh[j+1]==0)
{
sh[j+1]=a[i];
if (j+1>last)
{
last=j+1;
for (k=1; k<=last; k++)
N[k]=sh[k];
}
}
break;
}
}
}
fout<<last<<'\n';
for (i=1; i<=last; i++)
{
fout<<N[i]<<" ";
}
return 0;
}