Pagini recente » Cod sursa (job #559454) | Cod sursa (job #2822321) | Cod sursa (job #3276617) | Cod sursa (job #1101594) | Cod sursa (job #2358273)
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
ofstream fout("scmax.out");
ifstream fin("scmax.in");
int n,a[nmax],dp[nmax],len,poz;
int main()
{
int i,j;
fin >> n;
for(i = 1; i <= n; i++)
fin >> a[i];
dp[n] = 1;
for(i = n-1; i >= 1; i--)
{
int s = 1;
for(j = i+1; j <= n; j++)
if(dp[j]+1 > s && a[i] < a[j])
s=dp[j]+1;
if(s > len)
{
len = s;
poz = i;
}
dp[i] = s;
}
for(j = 1; j <= n; j++)
fout << dp[j] << " ";
fout << "\n";
fout << len << "\n";
for(i = poz; i <= n && len > 0; i++)
if(dp[i] == len)
{
fout << a[i] << " ";
len--;
}
fin.close();
fout.close();
return 0;
}