Pagini recente » Cod sursa (job #1903227) | Cod sursa (job #2117281) | Cod sursa (job #3256713) | Cod sursa (job #571968) | Cod sursa (job #2131001)
#include <iostream>
#include <fstream>
using namespace std;
int a[10001],b[10001],c[10001];
int main()
{
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,i,j,maxim,maximi;
f>>n;
for (i=1;i<=n;i++)
f>>a[i];
b[n]=1;
maxim=1;
c[n]=-1;
for (i=n-1;i>=1;i--)
{
maxim=0;
maximi=-1;
for (j=i+1;j<=n;j++)
if (a[i]<=a[j]&&b[j]>maxim) {maxim=b[j];
maximi=j;}
b[i]=1+maxim;
c[i]=maximi;
}
maxim=b[1];
maximi=1;
for (i=2;i<=n;i++)
{
if (maxim<b[i]) {maxim=b[i];
maximi=i;
}
}
while (maximi!=-1)
{
g<<a[maximi]<<" ";
maximi=c[maximi];
}
}