Cod sursa(job #2976033)
| Utilizator | Data | 8 februarie 2023 09:39:49 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 65 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int ind,l,n,a[100000],i,j,b[100000],c[100000];
void print(int q)
{
if (c[q]==0)fout << a[q]<<" ";
else
{
print(c[q]);fout << a[q]<<" ";
}
}
int main()
{
fin >> n ;
for (i=0;i<n;i++)
{
fin >> a[i];
b[i]=1;
}
for (i=0;i<n;i++)
{
for (j=0;j<i;j++)
{
if (a[i]>a[j] && b[j]+1>b[i])
{
b[i]=b[j]+1;
c[i]=j;
}
if (b[i]>l)
{
l=b[i];
ind=i;
}
}
}
fout << l << "\n";
print(ind);
return 0;
}
