Pagini recente » Cod sursa (job #807710) | Cod sursa (job #1066114) | Istoria paginii runda/tamasforthewin | Cod sursa (job #1790120) | Cod sursa (job #2204519)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n, a[100], lg[100], i, j, lgmax, Max, p, ult;
int main()
{
f>>n;
for (i=1; i<=n; i++)
f>>a[i];
lg[n]=1;
for (i=n-1; i>=1; i--)
{
lgmax=0;
for (j=i+1; j<=n; j++)
if (a[i]<a[j] && lg[j]>lgmax) lgmax=lg[j];
lg[i]=lgmax+1;
if (lg[i]>Max)
{
Max=lg[i];
p=i;
}
}
g<<Max<<endl;
g<<a[p]<<" ";
ult=a[p];
Max--;
for (i=p+1; i<=n; i++)
if (a[i]>ult && Max==lg[i])
{
g<<a[i]<<" ";
ult=a[i];
Max--;
}
return 0;
}