Pagini recente » Statistici Nunum nunum (Nunum) | Cod sursa (job #1407543) | Cod sursa (job #1531690) | Cod sursa (job #2297804) | Cod sursa (job #2492425)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int a[100005], lis[100005], urm[100005], n;
int main()
{
int i, j, M, p;
fin >> n;
for(i = 1; i <= n; i++) fin >> a[i];
lis[n] = 1;
urm[n] = n + 1;
for(i = n - 1; i > 0 ; i--)
{
M = 0;
p = n + 1;
for(j = i + 1; j <= n; j++)
if(a[i] < a[j] && M < lis[j])
{
M = lis[j];
p = j;
}
lis[i] = M + 1;
urm[i] = p;
}
p = 1;
for(i = 2; i <= n; i++)
if(lis[p] < lis[i])
p = i;
fout << lis[p] << "\n";
while(p < n + 1)
{
fout << a[p] <<" ";
p = urm[p];
}
fin.close();
fout.close();
return 0;
}