Pagini recente » Cod sursa (job #2149914) | Cod sursa (job #1440244) | Cod sursa (job #2028223) | Cod sursa (job #1137428) | Cod sursa (job #1133919)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,maxim,p,pd[100009],A[100009],poz[100009];
int main()
{
f >> n;
for(int i=1; i<=n; i++) f >> A[i];
p = n;
for(int i=n; i>=1; i--)
{
pd[i] = 1;
poz[i] = -1;
for(int j=i+1; j<=n; j++)
{
if(A[i]<A[j] && pd[i]<pd[j]+1)
{
pd[i] = pd[j]+1;
poz[i] = j;
}
if(pd[i] > maxim) maxim = pd[i], p=i;
}
}
while(p != -1)
{
g << A[p] << " ";
p = poz[p];
}
g.close();
return 0;
}